创建后获取实体ID

时间:2014-11-10 23:12:28

标签: c# entity-framework-6

我有两个由外键连接的实体,因此当我创建第二个实体时,我必须指定父实体ID。

创建父实体ID时会自动生成父实体ID,因此如何在创建子项时获取该ID以进行指定?

db.ParentClasses.Add(new ParentClass
    { 
        name = "test"

    });
db.ChildClasses.Add(new ChildClass
    {
        name = "test",
        someValue = "thing";
        parentID = ?????? // I have just created the parent above, how do I get the ID?
    });
db.SaveChanges();

我尝试在不指定父实体ID的情况下运行它,并且不会抛出任何错误,但只创建了父实体。未创建子实体,也不会引发错误。

1 个答案:

答案 0 :(得分:1)

而不是子类中的parentID,而是使用父类对象本身。这是快速伪代码。

var parent = new ParentClass() { name = "parent"};
var child = new ChildClass() { name = "child", parent = parent };
db.ParentClasses.Add(parent);
db.ChildClasses.Add(child);
db.SaveChanges();