Эта штука сводит меня с ума, и ошибка для меня совершенно бессмысленна:
Невозможно обновить EntitySet «TableB», потому что у него есть DefiningQuery и в элементе нет элемента, поддерживающего текущую операцию.
Мои таблицы размещены так:
TableA int idA (идентификатор, первичный ключ) ... TableB int idA (FK для TableA.idA) int val
TableB не имеет определенного первичного ключа на сервере SQL. Entity Framework импортировала таблицу и ассоциацию и установила оба поля как ключевые. Но он выдаст эту ошибку, когда я попытаюсь вставить в таблицу!
В чем дело??
Изменить: как было предложено Алексом, решение было следующим:
- Щелкните правой кнопкой мыши файл edmx, выберите Открыть с помощью, редактор XML.
- Найдите объект в элементе edmx: StorageModels
- Полностью удалите DefiningQuery
- Переименуйте магазин: Schema = "dbo" в Schema = "dbo" (в противном случае код выдаст ошибку о недопустимом имени)
- Удалите свойство store: Name
Я оставил ключ таким, каким он был, так как меня устраивало, что оба столбца являются частью ключа.