我正在使用.net 3.5的Entity Framework 1。我做的事情很簡單:var RoomDetails = context.Rooms.ToList();foreach (var Room in Rooms){ Room.LastUpdated = DateTime.Now;}我嘗試這樣做時收到此錯誤: context.SaveChanges();我收到錯誤:無法更新EntitySet - 因為它具有DefiningQuery并且<ModificationFunctionMapping>元素中不存在<UpdateFunction>元素以支持當前操作。我正在對上下文進行大量更新而沒有任何問題,只有當我嘗試更新此特定實體時才會這樣做。我所有的搜索都顯示了同樣的事情,即我正在嘗試更新的實體上沒有聲明主鍵。但是,我確實有一個主鍵聲明...
3 回答

HUH函數(shù)
TA貢獻1836條經(jīng)驗 獲得超4個贊
通常是因為以下原因之一:
實體集從數(shù)據(jù)庫視圖映射
自定義數(shù)據(jù)庫查詢
數(shù)據(jù)庫表沒有主鍵
執(zhí)行此操作后,您可能仍需要在停止獲取錯誤之前在Entity Framework設計器中更新(或者刪除實體然后添加它)。

陪伴而非守候
TA貢獻1757條經(jīng)驗 獲得超8個贊
只需向表中添加主鍵即可。而已。問題解決了。
ALTER TABLE <TABLE_NAME>ADD CONSTRAINT <CONSTRAINT_NAME> PRIMARY KEY(<COLUMN_NAME>)
- 3 回答
- 0 關(guān)注
- 914 瀏覽
添加回答
舉報
0/150
提交
取消