Entity Framework Objekt erweitern

19/11/2008 - 22:59 von Marco Müller | Report spam
Hallo zusammen,

ich weis nicht ob ich auf dem Schlauch stehe aber ich habe ein kleines
Problem mit dem Entity Framework.

Ich würde gerne eine Entity-Klasse ein wenig erweitern. Zum einen mit
Funktionen und Eigenschaften das geht nocht mit der Partial Klasse in einer
anderen Datei.

Zum anderen würde ich aber gerne an die generierten Eigenschaften
zusàtzliche Attribute, zum Beispiel für die Validierung, knüpfen und zum
anderen würde ich auch gerne gewisse Eigenschaften überschreiben das sie
einen anderen Datentyp habe. Zum Beispiel eine Farbe die ich in der DB als
INT speichere.

Logischerweise kann ich den vom Designer generierten Code nicht veràndern.
Nun habe ich mir überlegt die Klasse einfach abzuleiten. Leider aktzeptiert
der Objectspace keine Kindklasse da von einer Kindklasse anscheinend nicht
auf das Mapping einer Vaterklasse geschlossen werden kann.

Ein 1:1 Mapping auf eine selber erstellte Klasse ist auch nur mit sehr viel
Aufwand möglich das ich ja die Beziehungen der Objekte mit Abbilden muss und
irgendwie würde das ja, dass das verwenden des Entity Frameworks in Frage
stellen.

Ich bin im Moment etwas Ratlos. Vielleicht kennt jemand das Problem und weis
Rat. Denn es wàre eigentlich Schade wenn ich auf den Designer verzichten
müsste und das komplette Mapping von Hand erstellen muss.

Gruss Marco
 

Lesen sie die antworten

#1 Carl Schaffert
20/11/2008 - 08:58 | Warnen spam
Hallo Marco,


ich weis nicht ob ich auf dem Schlauch stehe aber ich habe ein kleines
Problem mit dem Entity Framework.



Yep... du stehst etwas auf dem Schlauch ;-)


Ich würde gerne eine Entity-Klasse ein wenig erweitern. Zum einen mit
Funktionen und Eigenschaften das geht nocht mit der Partial Klasse in
einer
anderen Datei.

Zum anderen würde ich aber gerne an die generierten Eigenschaften
zusàtzliche Attribute, zum Beispiel für die Validierung, knüpfen und zum
anderen würde ich auch gerne gewisse Eigenschaften überschreiben das sie
einen anderen Datentyp habe. Zum Beispiel eine Farbe die ich in der DB als
INT speichere.



Dazu musst du nur in deinem konzeptionellen Modell die Typen àndern und
gegebenenfalls einen Konverter dazu schreiben.


Logischerweise kann ich den vom Designer generierten Code nicht veràndern.
Nun habe ich mir überlegt die Klasse einfach abzuleiten. Leider
aktzeptiert
der Objectspace keine Kindklasse da von einer Kindklasse anscheinend nicht
auf das Mapping einer Vaterklasse geschlossen werden kann.



Auch das geht, gehst auf den EDM-Designer... rechts klick... add...
entity... und das leitest du von dem entity ab, das du gerne hàttest.


Ein 1:1 Mapping auf eine selber erstellte Klasse ist auch nur mit sehr
viel
Aufwand möglich das ich ja die Beziehungen der Objekte mit Abbilden muss
und
irgendwie würde das ja, dass das verwenden des Entity Frameworks in Frage
stellen.

Ich bin im Moment etwas Ratlos. Vielleicht kennt jemand das Problem und
weis
Rat. Denn es wàre eigentlich Schade wenn ich auf den Designer verzichten
müsste und das komplette Mapping von Hand erstellen muss.



Der EDM-Designer macht zwar nicht zu 100% alles was man sich denken kann,
aber das was du vorhast macht er ;-) übrigens... er zerstört auch nicht
alles was du an Änderungen hinzugefügt hast, wenn du ein Update auf die
Datenbank machst... ich finde den Update-Wizard sogar weit ausgegorener als
z.B. beim DataSet-Wizard oder so...

Ist vielleicht gut wenn du dir mal das ".NET 3.5 Enhancements Training Kit "
besorgst, dort wird u.a. auch einiges zum EF und EDM erklàrt/gezeigt.
http://www.microsoft.com/downloads/...laylang=en

Viele Grüße... Carl

Ähnliche fragen