2010-06-15 13 views
5

Zamierzam rozszerzyć konstruktorów niektórych podmiotów w mojej Entity Framework (4).Podmiot Framework .. częściowy konstruktor

Jak jednak upewnić się, że mój konstruktor jest uruchamiany po uruchomieniu modelu. tj. Chcę upewnić się, że obiekt przechowuje dane z bazy danych przed rozpoczęciem pracy nad tym w moim konstruktorze.

+5

Powinieneś rozważyć zaznaczenie niektórych odpowiedzi na swoje (wiele) pytań. To prawdopodobnie pomoże ci uzyskać więcej odpowiedzi na jakość. Po prostu naciśnij znak wyboru w pobliżu odpowiednich odpowiedzi na swoje pytania. –

+0

Nie wiem o jego innych pytaniach, ale ta nie ma odpowiedzi ... – hminaya

+0

możliwe duplikaty [EF 5 Model First Class Class Custom Constructer How To?] (Http://stackoverflow.com/questions/14485052/ef-5-model-first-partial-class-custom-constructer-how-to) - jest tam świetne rozwiązanie z edycją szablonów T4. –

Odpowiedz

1
+2

Dzięki Pavel Konstruktor łańcuchów Myślę, że nie pomoże. Ramy podmiot tworzy: częściowe klasy ABC { \t ABC() {} } tworzę: częściowe klasy ABC { \t ABC() {coś zrobić tutaj} } Chcę moje konstruktor, który ma zostać wywołany po jednostce framwork one ... tak, aby obiekt był wypełniony danymi, dzięki czemu mogę "zrobić coś tutaj" z nim .. – Adam

+0

nie układa się ładnie w tym obszarze komentarza .. przepraszam – Adam

+1

Nie możesz zrobić to przepraszam. Nie możesz mieć połowy metody (lub konstruktora) w jednym miejscu, a druga połowa tej samej metody (lub konstruktora) w innym miejscu - nie jest to tym, co robią częściowe metody/metody. –

2

Nie ma wygenerowanego konstruktora oprócz domyślnego; obiekty są tworzone za pomocą metody fabrycznej i są po prostu inicjalizowane po zakończeniu budowy.

Można napisać własny domyślny konstruktor, a wygenerowany kod wywoła go przed inicjalizacją wszystkich wygenerowanych właściwości. Jeśli napiszesz własny, inny niż domyślny konstruktor, będziesz musiał również napisać własny domyślny konstruktor, inaczej plik projektanta nie będzie się kompilował, ponieważ zakłada, że ​​istnieje domyślny konstruktor.