编辑:更好的是,我这样做没有错误,也没有插入任何记录:
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 server的探查器。在此期间,除了select之外,没有其他命令发生。
(结束编辑)
我有一组实体要立即添加,都是新的。它们依赖于另一个表中的记录。我执行以下操作:
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
任何地方)。数据库中也没有显示任何记录。我做错什么了?