2015-11-19 4 views
1

Я очень новичок в EF, поэтому, пожалуйста, несите меня. У меня есть 3 таблицы CustomerTable, ProductTable и OrdersTable.Entity framework - 3 таблицы, но только 2 показаны

Первичный ключ OrdersTable - это комбинация первичных ключей CustomerTable и ProductTable, которые являются идентификаторами CustomerID и ProductID соответственно.

OrdersTable имеет только две колонки, которые КодКлиента и ProductID

В модели EF, я добавил все 3 таблицы, но OrdersTable не отображается в EDMX.

Так что один из моих знакомых рассказал мне, что 3-я таблица OrdersTable представляет собой «составную» таблицу, поскольку она имеет первичные ключи как CustomerTable, так и ProductTable.

Итак, мой вопрос в простой форме заключается в том, что делает составную таблицу с данным сценарием?

Я хочу запросить/получить все содержимое OrdersTable, но мне сказали, что я должен сначала пройти через CustomerTable или ProductTable.

Я сделал это с использованием linq для sql, поэтому CustomerTable может видеть ProductTable и наоборот, из-за свойства навигации, но я не вижу OrdersTable.

Какой простой способ сделать это и почему?

ответ

0

Это известный дефект Entity Framework, составные ключи будут преобразованы в специальную ассоциацию, а не в таблицу или модель. Простым обходным решением является создание новой таблицы с тремя полями. Первое поле (Id), заданное как первичный ключ, два других поля: CustomerID и ProductID, и вы должны поддерживать целостность базы данных, используя свой код не самой системой базы данных ...

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