Laden...

EF4 Objekte nach jedem Programmstart neu Erstellen

Erstellt von Campy vor 12 Jahren Letzter Beitrag vor 12 Jahren 1.387 Views
C
Campy Themenstarter:in
439 Beiträge seit 2008
vor 12 Jahren
EF4 Objekte nach jedem Programmstart neu Erstellen

verwendetes Datenbanksystem: MSSQL 2008 R2

Hallo zusammen,

gibt es eine Möglichkeit EF4 Objekte bei jedem Programmstart neu zu Erstellen?
Ich meine damit, dass falls Spalten in einer Tabelle dazugekommen sind, diese auch dem Objekt hinzugefügt werden etc.?

Falls das nicht mit EF geht, gibt es andere Technologien die das können?

Danke! Campy

A programmer is just a tool, which converts coffeine into code! 🙂

1.552 Beiträge seit 2010
vor 12 Jahren

Hallo Compy,

nein dies geht nicht. Wenn du eine NOT NULL Spalte hinzufügtst dann wird dir dein Programm sogar abschmieren wenn du versuchst einen neuen Tuple einzufügen, sonst nicht. Wenn sich in der Datenbank was änder, so sollst du auch die EF-Objekte neu generieren.

Gruß
Michael

Mein Blog
Meine WPF-Druckbibliothek: auf Wordpress, myCSharp

S
443 Beiträge seit 2008
vor 12 Jahren

generell denke ich, dass dieser Schritt nicht automatisch erfolgen sollte.
Klar könnte man es automatisieren und es würde auch nichts schlimmes passieren ... meistens.
Und genau dieses sagt mir, es muss ein ganz bewusster Vorgang sein, sein DomänenModel zu generieren.
Es kommt eine Spalte weg, die wird aus dem EF raus'generiert' und die Anwendung verabschiedet sich ... bei einem User/Programmierer der nichts mit dem DomänenModel zu tun hat und der suchst sich dann zum Idioten bis er herausgefunden hat was da eigentlich los ist.

mbg
Rossegger Robert
mehr fragen mehr wissen

Montag morgen ist die beste Zeit um eine erfolgreiche Woche zu beginnen

C
Campy Themenstarter:in
439 Beiträge seit 2008
vor 12 Jahren

Ok, gibts noch andere Möglichkeiten / Frameworks diese Anforderung umzusetzen ?
Ich kenn das von eigenen Produkten, dass man dynamisch Felder zu Masken hinzufügen kann und diese dann auch überall verfügbar sind .. 😦

A programmer is just a tool, which converts coffeine into code! 🙂

16.842 Beiträge seit 2008
vor 12 Jahren

Ich stimme den anderen zu, dass das nicht automatisch passieren sollte.

Verwendest Du aber EF4 Code First, gibt es beim Initializer den Parameter ReCreateDatabaseIfModelChanges. Die vorhandenen Daten gehen natürlich verloren; aber, da Du Dir basierend auf dieser Klasse einen eigenen ReCreateDatabaseIfModelChanges-Handler basteln kannst, gibt es sicherlich eine Möglichkeit eine Migrationsroutine zu entwickeln.
Ob und wie gut das ganze funktioniert kann ich leider nicht sagen; ich halte nicht viel von Code First.

Edit: Ja, es gibt solche Anwendungen - die arbeiten aber völlig anderst.
Meist haben diese Tabellen eine Relation zu einer weiteren Tabelle, die zum Beispiel "CustomAttributes" heißt.
Diese besitzen dann mindestens die Spalten ID, FieldName, FieldValue, FieldType und werden dann mit einer entsprechenden Beziehung zugeordnet.

S
443 Beiträge seit 2008
vor 12 Jahren

anders gefragt:
Welchen Vorteil erwartest Du Dir davon wenn das DomainModel bei jedem ->Programmstart<- neu generiert wird?

mbg
Rossegger Robert
mehr fragen mehr wissen

Montag morgen ist die beste Zeit um eine erfolgreiche Woche zu beginnen