我在使用實體框架更新數據庫中的對象時遇到問題。帶有實體框架的ASP.NET MVC - UpdateException
首先,這個概念是:
用戶可以是一個組的成員,因此,一組中包含的用戶。
要在數據庫建模,我有以下結構:
用戶: ID 名稱 等
組: ID 名稱
GroupMembers: 組ID 用戶名
GroupMembers中的這兩個字段都是與用戶ID和組ID相關的外鍵。當我將它加載到Entity Framework中時,它的建模正確性在於Group對象具有User對象列表,並且每個User對象都有一個Group對象列表。
然而,當我去將用戶添加到組,我得到以下問題:
var group = DAO.GetGroup(GroupID);
var user = DAO.GetUser(UserID);
group.Users.Add(user);
conn.SaveChanges();
無法更新EntitySet的 「GroupMembers」,因爲它有一個 DefiningQuery並沒有 元素存在於 元素 中以支持當前操作。
我已經看到各條線上提供諮詢意見的ID字段添加到GroupMembers表 - 但如果我這樣做,我得到了EF映射錯誤抱怨沒有被映射到任何東西的ID。
任何人都可以借出一些其他建議或解決方法嗎?
感謝,
克里斯
「GroupMembers」的PK是什麼?它*應該是*兩列。你定製了「DefiningQuery」嗎? – 2010-02-02 14:50:45
不,我沒有定製過定義查詢,主要是因爲我不知道該如何改變它,並且不想對現有東西產生不利影響。GroupMembers根本沒有主鍵,我添加了一個「ID」列,但映射拋出一個錯誤,因爲它沒有正確映射。 – Chris 2010-02-02 14:56:57