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