0
(使用:Visual Studio 2010中,SQL Server 2012中,實體框架4.0,MVC3 Web應用程序)問題對象
我表一個一對多和多對多的一對多關係,我用(數據庫優先)自動生成模型類,這意味着我有從EntityObject
繼承的對象和繼承自ObjectContext
的基類。
我遇到了(插入,更新,刪除)對象的問題。
例如創建對象時:我有2個表(Area
和Cell
)和中間表(CellArea
)之間的多對多的關係,以及我要添加其被連接到許多新的Cell
對象區,所以我做了下面的代碼:
Cell _cell = new Cell()
foreach (Area ar in current_areas)
{
var ca = new CellArea();
//ca attributes
_cell.CellAreas.Add(ca);
}
db.SaveChanges();
db.Cells.AddObject(_cell);
db.SaveChanges();
我嘗試過其他的代碼片段,其中沒有工作,我總是得到IEntityChangeTracker
和其他類似例外。
什麼是管理這種情況的正確方法?
您需要包含更多關於您正在獲取的特定例外的信息。 IEntityChangeTracker是一個接口,不是一個例外。如果您需要幫助,您需要提供足夠的信息,以便可以確定問題所在。 – user469104 2014-10-17 13:31:12
我在不同的操作有很多例外,所以我認爲我是以錯誤的方式處理EF,在上面的例子中,當只有一個區域添加時,我得到「InvalidOperationException:一個實體對象不能被多個IEntityChangeTracker實例引用。 「 添加_cell對象的例外情況。 當添加了多個區域時,我也會得到「InvalidOperationException:無法定義兩個對象之間的關係,因爲它們連接到不同的ObjectContext對象。」在添加區域行中是例外。 – 2014-10-17 13:47:52