Как создать связь между таблицей и представлением в Entity Framework - PullRequest
9 голосов
/ 02 февраля 2010

У меня есть модель Entity Framework, созданная мастером Visual Studio 2008 на основе базы данных Sql Server 2008.

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

Можно ли создать связь в модели Entity Framework для этой связи между таблицей соединений и представлением?

Спасибо за любую помощь.

1 Ответ

16 голосов
/ 02 февраля 2010

Да, вы можете сделать это, но дизайнер графического интерфейса не сможет сделать это за вас.

Первое, что нужно сделать, это правильно настроить представление . Разработчик не может вывести первичный ключ, поэтому вам нужно будет предоставить эту информацию.

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

В EF 1 вам нужно будет удалить поля FK из клиентской схемы, выбрав их в конструкторе и нажав «Удалить». Это связано с тем, что в EF 1 нельзя сопоставлять одно и то же поле как ассоциации, так и скалярному свойству. В EF 4 вы можете оставить поля FK, если используете ассоциации FK, или можете использовать независимые ассоциации, которые ведут себя как EF 1.

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