如何使用Entity Framework插入和获取PK Id?

时间:2010-11-08 01:50:37

标签: entity-framework asp.net-mvc-2 ado.net

目前我正在插入:

MyNamedEntities db = new MyNamedEntities();

MyTableEntity field = new MyTableEntity();
field.Name = "me";

db.MyTableEntity.AddObject(field);
db.SaveChanges()

但现在我想插入子元素,我需要field.Id部分

MyOtherTableEntity field = new MyOtherTableEntity();
field.TableId = new MyTableEntity.First(x => x.Id.Equals( ... ));

如何获得field.Id

2 个答案:

答案 0 :(得分:7)

如果您的表格已将Id定义为INT IDENTITY列,那么您根本不需要做任何事情! : - )

在这种情况下,只需插入您的实体,在调用.SaveChanges()后,您的对象应包含新的Id值:

MyTableEntity field = new MyTableEntity();
field.Name = "me";

db.MyTableEntity.AddObject(field);
db.SaveChanges();

int newID = field.Id;

答案 1 :(得分:0)

您也可以在保存更改之前或之后通过关联将它们添加到父级 这样的事情。

地址a =新地址(); a.city =“Detroit”; field.address.add(一);

db.SaveChanges();