Entity Framework 4.0: добавить свойство в таблицу для хранения объекта из другой таблицы? - PullRequest
0 голосов
/ 02 марта 2010

Я хотел создать новое свойство для таблицы в моей модели. По сути, у меня есть таблица с именем контракт, которая имеет много полей, но я хочу добавить еще одно поле с именем client, которое будет содержать мою другую таблицу с именем client ..

Я пытался поиграть со сложными типами, но я не знаю, так ли это ... Тогда я нашел свойство навигации ... это звучало интересно ... как ссылка на клиента, может быть ?? ..но я мог бы указать на это где-нибудь ..

В основном таблица / модель контракта нуждается в новом свойстве, называемом клиентом ... клиент на самом деле является сущностью, но клиент должен путешествовать по контракту.

Как это сделать ??

Я хотел установить это в модели, чтобы я мог автоматически обновлять модель и т. Д. .... и не терять какие-либо пользовательские изменения.

Конечно, я мог бы просто вставить что-то в класс Partial в другом файле ...

Есть идеи?

Спасибо

Ответы [ 2 ]

1 голос
/ 02 марта 2010

То, что вы пытаетесь сделать, обычно достигается путем правильного определения отношений первичного / внешнего ключа между таблицами в базе данных (или между полями в вашей модели, если вы разрабатываете модель на основе дизайна).

Entity Framework автоматически увидит взаимосвязь внешнего ключа между таблицами и сгенерирует свойство родительского класса для хранения дочернего элемента.

Что касается вашего комментария (что лучше, определение отношений в модели или создание частичных классов):

Гораздо лучше определить отношения в вашей модели для реализации в частичных классах. Определив отношения в вашей модели, вы обеспечите целостность, даже если ваша база данных этого не сделает ... тогда как, если вы используете частичные классы, вам придется кодировать принудительное применение самостоятельно.

0 голосов
/ 02 марта 2010

Если возможно, я думаю, вы захотите добавить внешний ключ в свою таблицу контрактов, который содержит первичный ключ вашего клиента. Затем вы можете нажать «обновить модель», чтобы добавить свойство навигации в вашу модель.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...