ADO Entity Framework создает нежелательный ключ Entity - PullRequest
3 голосов
/ 12 марта 2009

Мне нужно использовать таблицы из БД, которые я не могу изменить (используя связанный сервер). Поэтому часть моей схемы - это представление этих таблиц, и я не могу создать FK в моей БД.

Когда я прихожу к созданию ассоциации в ADO.NET Entity Framework, у меня возникают проблемы, потому что во втором столбце таблицы из внешней БД есть индекс, а EF создает для него Ключ Entity (это имя descr of the record - я думаю, что они просто хотели ускорить порядок на нем).

Когда я снимаю Ключ сущности с этого столбца в сущности EF, он жалуется, что он мне нужен, потому что в базовой таблице есть ключ. Если я оставлю это внутри, я не смогу сопоставить его с таблицей EF.

Кто-нибудь знает, что мне делать, пожалуйста?

1 Ответ

4 голосов
/ 24 июня 2009

Вам нужно будет отредактировать XML и удалить столбец из ключа. Найдите тег в разделе (содержимое SSDL). Удалите все в , которые на самом деле не являются частью первичного ключа.

Как только вы это сделаете, вы можете установить «Ключ сущности» для соответствующего скалярного свойства в конструкторе в false, и EF не разозлится. Вас также не попросят отображать этот столбец в ассоциациях.

...