Добавление данных в таблицу БД с помощью Linq to Entities (EDMX), если у таблицы нет первичного ключа? - PullRequest
0 голосов
/ 22 января 2012

Я пытаюсь добавить данные в таблицу, и linq к объектам выдает исключение с:

Невозможно обновить EntitySet 'XXXX', так как он имеет DefiningQuery, и вэлемент для поддержки текущей операции.

Таблица, в которую я пытаюсь добавить данные, не имеет первичного ключа, и если я добавлю столбец int и установлю его в качестве первичного ключа, проблема исчезнет, ​​нов смысле пурист / OCD этот столбец не является обязательным

UserTable      UserGroup               GroupTable
ID Name        UserId GroupId          ID Name 

Требуется ли для добавления данных в таблицу БД с помощью Linq to Entities (EDMX) первичный ключ таблицы?

1 Ответ

1 голос
/ 22 января 2012

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

Подробнее о таблицах без первичных ключей и о том, почему EF считает это неправильным: http://www.i -think22.net / archives / 2009/07/24 / linq-to-sql-and-tables-with-no -примарный ключ /

...