如何首先使用 C# 实体代码显示表的 ID



我首先使用 c# Windows 应用程序实体框架工作代码,我需要获取表的最后一个 Id 值,但 +1(我需要在 Id 值上加 1)以不微妙地处理下一次插入的下一个 ID。

您说您正在使用实体框架,因此我假设您有一个派生自 DbContext 的上下文类,该类本身具有相关表的DbSet

因此,如果您的上下文类中有类似的东西:

public DbSet<Customer> Customers { get; set; } 

然后,可以使用 LINQ to 实体执行以下操作:

var nextId = context.Customers.Max(x => x.Id) + 1; 
嗨,

您可以在EF ID中设置为自动生成,当您插入新记录时,您的对象将获得以Db生成的新ID,您也可以在代码中获取它。

public class Foo
  {
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
     public int ID { get; set; }
      public string Name { get; set; }
   }
   -- here is how you can get id back 
var context = new TestContext();
        var newFoo = new Foo{ Name = "D" };
        context.Foos.Add(newFoo);
        context.SaveChanges();
        Console.Write(newFoo.Id);
       TextBox1.Text = newFoo.Id.ToString()

最新更新