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

bal*_*dre 1 ado.net entity-framework asp.net-mvc-2

目前我正在插入如下:

MyNamedEntities db = new MyNamedEntities();

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

db.MyTableEntity.AddObject(field);
db.SaveChanges()
Run Code Online (Sandbox Code Playgroud)

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

MyOtherTableEntity field = new MyOtherTableEntity();
field.TableId = new MyTableEntity.First(x => x.Id.Equals( ... ));
Run Code Online (Sandbox Code Playgroud)

我该field.Id怎么办?

mar*_*c_s 7

如果你的表已经定义了Id一个INT IDENTITY列,那么你根本不需要做任何事情!:-)

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

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

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

int newID = field.Id;
Run Code Online (Sandbox Code Playgroud)