我有两个具有1-many关系但也有1-1关系的实体。
这是一个简单的说明:
class Parent
{
public Int32 Id { get; set; }
public List<Child> Children { get; set; }
public Int32 LastChildId { get; set; }
public Child LastChild { get; set; }
}
class Child
{
public Int32 Id { get; set; }
public Int32 ParentId { get; set; }
}
实例化:
var c1 = new Child() { };
var c2 = new Child() { };
var p = new Parent()
{
Children = new List<Child> { c1, c2 },
LastChild = c2
};
在通过datacontext将父对象p
插入数据库后,实体框架是否会保留最后一个子ID?
答案 0 :(得分:1)
如果你这样做了:
context.Parents.Add(p);
context.SaveChanges();
在上面的代码中,该父p
的ID为c2
,其值为LastChildID
。父母也将通过交叉引用表与两个孩子建立关系。这两个孩子都将通过p
实体属性引用Parent
。