这是我的问题:我正在使用 Silverlight+ WCF RIA + EntityFramework 和域数据源。我在客户端插入一个父实体,然后是一个子实体(父实体可以有很多子实体),如下所示:
Parent p = new Parent();
p.PropertyA = "MyTest";
if (!this.domainContext.Parents.Contains<Parent>(p))
this.domainContext.Parents.Add(p);
Child c = new Child();
c.PropertyOfC = "Togodo";
if (!this.domainContext.Childs.Contains<Child>(c))
this.domainContext.Childs.Add(c);
c.parent = p;
p.Child.Add(c);
// Submit update RAISE ERROR
domainContext.SubmitChanges(submitOp =>
{
// Declare error
Exception error = null;
// Set error or result
if (submitOp.HasError)
{
error = submitOp.Error;
}
// Invoke completion callback
if (completed != null)
completed(error);
}, null);
}
当我在服务器端调用“submitChanges”时,子实体的“插入方法”在父实体之前调用。因此由于外键约束而发生异常。这里的代码被简化了。在实际情况下,我不能两次调用提交更改(一次在创建父实体后,一次在子实体创建后)
如何控制服务器端的插入顺序,或者我做错了什么?
谢谢你的帮助。