Entity Framework Association б / т без ключа - PullRequest
1 голос
/ 11 ноября 2009

Можно ли создать ассоциированные b / t 2 неключевые поля в Entity Framework?

Пример: взять две таблицы в унаследованном приложении (т. Е. Ключи / структура не могут быть изменены)

Заказать - OrderId: int: PK - Номер заказа: varchar

Детали_Заказы - DetailRecordId: int: PK - Номер заказа: varchar

В Entity Framework я хочу создать связь b / t Order и OrderDetails с помощью поля OrderNo, которое не является первичным ключом ни для таблицы, ни для отношения FK в базе данных.

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

1 Ответ

0 голосов
/ 12 января 2010

Без каких-либо ограничений на поле OrderNo в любой из схем отношений, EF будет трудно обрабатывать свойство навигации (т. Е. OrderNo уникален? Количество элементов отношения)

OrderNo считается неидентифицирующим свойством, и, следовательно, навигационные свойства немного затрудняют его автоматическое создание.

Чтобы достичь того, что вы хотите, вы можете использовать простую команду Linq-to-Entity, чтобы получить то, что вам нужно от данной сущности. Затем команду можно абстрагировать за Свойство, объявленное в частичном классе сущности.

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