我正在根据以下帖子将行批量插入表(该表具有一个标识列,每次插入新行时该列都会自动递增)
https://stackoverflow.com/a/5942176/3861992
插入所有行之后,如何获取最近插入的行的ID列表?
谢谢
最佳答案
在插入实体和EntityFrameWork(EF)
之后的SaveChanges()
。它设置Id的值。
假设您要输入数据库的实体如下:
public class EntityToInsert
{
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
}
并且您要插入实体列表:
var list = new List<EntityToInsert>()
{
new EntityToInsert() {Name = "A", Age = 15},
new EntityToInsert() {Name = "B", Age = 25},
new EntityToInsert() {Name = "C", Age = 35}
};
foreach (var item in list)
{
context.Set<EntityToInsert>().Add(item);
}
context.SaveChanges();
// get the list of ids of the rows that are recently inserted
var listOfIds=list.Select(x => x.Id).ToList();
我希望这有帮助。
关于c# - 获取 Entity Framework 中最近插入的行的ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46120985/