处理EntityFramework对象时出现问题

时间:2014-10-17 13:25:31

标签: c# entity-framework asp.net-mvc-3

(使用:Visual Studio 2010,SQL Server 2012,Entity Framework 4.0,MVC3 Web应用程序)

我有一对多和多对多关系的表,我使用(数据库优先)自动生成模型类,这意味着我有从EntityObject继承的对象和从{继承的基类{1}}。

我遇到(插入,更新,删除)对象时遇到问题。

例如,在创建对象时:我在2个表(ObjectContextArea)和中间表(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(); 和其他类似的例外。

管理此类案件的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

当存在可交互关系时,EF应该创建所谓的导航属性。执行初始查询时,您可以选择是否加载这些属性。特别是EF有一个名为Include的关键字,允许您随意填充其他属性。如果包含所有其他日期并进行了任何更改,则只需调用SaveChanges方法,原始表数据和所有导航属性数据将一次保存。

Google“EF Include”