小编And*_*tov的帖子

如何告诉Entity Framework我的ID列是自动递增的(AspNet Core 2.0 + PostgreSQL)?

代码很简单. Tag.cs实体:

public partial class Tag
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }
    public string Name { get; set; }
    public string Description { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

HomeController.cs 类:

public async Task<IActionResult> Index()
{
   tagRepository.Insert(new Tag 
               { 
                   Name = "name", 
                   Description = "description" 
               });
   await UnitOfWork.SaveChangesAsync();  // calls dbContext.SaveChangesAsync()

   return View();
}
Run Code Online (Sandbox Code Playgroud)

TagRepository.cs 类:

    // Context it's a usual DBContext injected via Repository's constructor
    public virtual void Insert(TEntity item)
                => Context.Entry(item).State = EntityState.Added;
Run Code Online (Sandbox Code Playgroud)

Tag 表是通过运行创建的: …

auto-increment npgsql entity-framework-core asp.net-core

11
推荐指数
2
解决办法
1万
查看次数