实体框架:保存相关实体

时间:2016-06-01 16:00:11

标签: c# sql .net entity-framework

我有两个具有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?

1 个答案:

答案 0 :(得分:1)

如果你这样做了:

context.Parents.Add(p);
context.SaveChanges();

在上面的代码中,该父p的ID为c2,其值为LastChildID。父母也将通过交叉引用表与两个孩子建立关系。这两个孩子都将通过p实体属性引用Parent