c# - 获取 Entity Framework 中最近插入的行的ID

标签 c# sql entity-framework

我正在根据以下帖子将行批量插入表(该表具有一个标识列,每次插入新行时该列都会自动递增)

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/

相关文章:

c# - 如何使用身份列表从 Entity Framework 获取 ObjectResult

c# - 在多对多 Entity Framework 关系中保留外键列表

c# - 使用单独的数据库表在 DataGridComboBoxColumn 中设置 ItemSource

c# - LINQ to Entities,连接两个表,然后分组并从两个表中获取列的总和

sql - 在 SQL 中按年级对学生进行排名

php - PDO 查询不起作用,但生成的 SQL 在 PHPMyAdmin 上运行

c# - Entity Framework 将子对象添加到数据库

c# - 是否可以创建一个快捷方式来将未使用的 usings 删除到一个类中?

c# - 在 C# 中显示带有文本输入的对话框

sql - CFScript 中的动态 SQL