2008-11-23 3 views
0

Я создаю модель Entity Framework для подмножества базы данных Pubs от Microsoft. Меня интересуют только издатели и книги, а не издатели и сотрудники, но есть ограничение внешнего ключа между таблицами издателей и emoloyees. Когда я удаляю сущность сотрудников из моей модели, модель не будет проверяться из-за ограничения внешнего ключа.Должен ли я использовать все таблицы в модели Entity Framework?

Как создать модель для подмножества базы данных, когда это подмножество связывается с другими вкладками с ограничениями внешнего ключа?

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

ответ

0

Правильный способ сделать это - разоблачить столбцы внешнего ключа как скалярные свойства. Существует полное объяснение и загружаемый образец кода, в this blog post.. Вы также можете найти остальную часть сообщения.

0

Вы можете создавать представления соответствующих данных и привязывать свою модель к этому. Я не эксперт по базам данных, а администратор баз данных, с которым я раньше работал, рекомендовал этот подход, потому что она сказала, что представление на сервере базы данных менее интенсивно.

До выпуска 3.5 SP1 мы построили DAL поверх LINQ to SQL (без сопоставлений DBML, но это еще одна история), которая отображает все объекты домена в хранимые процедуры или представления. Таким образом, администратор баз данных был доволен вызовами, которые следуют за более сложным планом выполнения, а также могут инкапсулировать логику базы данных за пределы кодовой базы.

Смежные вопросы