2010-11-14 62 views
0

编辑:更重要的是,我这样做是没有错误和没有记录插入:实体框架4:创建一个新的实体,保存它,没有错误,并没有插入记录?

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服务器的探查。在此期间没有发生除选择之外的命令。

(END EDIT)

我有一个实体的集合一次添加,所有新。他们依赖于另一个表中的记录。我做到以下几点:

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任何地方)。数据库中也没有记录。我在做什么不正确?

回答

4

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

+0

OMG说一个心灵麻木的经历大声笑。 – 2010-11-14 18:17:38