实体框架4:创建一个新实体,保存它,没有错误,没有插入记录?

时间:2010-11-14 17:53:56

标签: c# entity-framework-4 persistence

编辑:更好的是,我这样做没有错误,也没有插入记录:

var myTopLevelEntity = _DC.TopLevelEntity.Where( p => p.ID = 1).First();
var newEntity = new Entity();
newEntity.pocofield = ""; // set all primary keys and poco fields
newEntity.TopLevelEntity = myTopLevelEntity;
_DC.Entitys.Add( newEntity);

我检查了SQL服务器的分析器。在此期间没有发生选择以外的命令。

(结束编辑)

我有一组要立即添加的实体,全新的。它们依赖于另一个表中的记录。我做了以下事情:

var myTopLevelEntity = _DC.TopLevelEntity.Where( p => p.ID = 1).First();

NewEntity有一个层次结构:

newEntity.A[].pocofields
newEntity.B[].pocofields
newEntity.C[].pocofields
newEntity.C[].D[].pocofields

所以,我这样做

var newEntity = new Entity();
newEntity.pocofield = ""; // various poco fields, set all keys

var A = new AEntity();
A.pocofield = ""; // various poco fields, set all keys
newEntity.As.Add( A);

var B = new BEntity();
B.pocofield = ""; // various pocos, set all keys
newEntity.Bs.Add( B);

var C = new CEntity();
C.pocofield = "";  // various, set all keys
var D = new DEntity();
D.pocofield = ""; // various, set all keys
C.Ds.Add( D);
newEntity.Cs.Add( C);

newEntity.TopLevelEntitys.Add( myTopLevelEntity);
_DC.Entitys.Add( newEntity);

此时,没有错误发生(我在任何地方都没有try/catch)。数据库中也没有记录。我做错了什么?

1 个答案:

答案 0 :(得分:4)

我想你忘了打电话给_DC.SaveChanges