我首先使用poco代码。如何在savechanges()之后获得最后一次插入?
感谢
答案 0 :(得分:15)
我以这种方式解决了这个问题:
使用Max() - 您可以从表中获取最后一个ID
db.Products.Add(product);
db.SaveChanges();
int lastProductId = db.Products.Max(item => item.ProductId);
ProductId是Key()和增量
答案 1 :(得分:11)
register = db.registers.CreateObject();
register.id = 0;
register.customer = h.customer;
register.employee = employee_created;
register.created = DateTime.Now;
db.registers.AddObject(register);
db.SaveChanges();
//You can get the ID here
int last_insert_id = register.id;
答案 2 :(得分:8)
在上下文中保存实体后(SaveChanges())。 poco本身的ID属性应该由实体框架设置。
如果您确实需要有关已修改实体的更多信息,可以在Entity Framework的ObjectContext提供的ObjectStateManager中查找它们。
答案 3 :(得分:3)
var newProduct = db.Product.Add(model);
db.SaveChanges();
var productId = model.Id;
它会自动将其添加到您要保存的对象
答案 4 :(得分:0)
请参考以下示例-
db.Hotels.Add(hotels);
db.SaveChanges();
var id = hotels.Id;
对我有用。