ASP.Net EF标识列问题,单个操作上的重复条目

时间:2017-04-01 18:23:45

标签: c# mysql asp.net-mvc entity-framework ef-code-first

在APS.NET实体框架中,我将state_id指定为Identity列,与我在MySql Table中设置自动增量字段相同。但是当我执行插入操作时,它会为具有不同id的相同数据再创建一个重复条目。这是我的代码。

我在状态id上使用了[DatabaseGenerated(DatabaseGenerationOption.Computed)]属性来使其成为身份。

嘿伙计我刚刚用断点检查它,我发现了一些非常有趣的东西,当我第一次运行这个代码时,调用了两次add()方法,但是当我再次刷新页面时,它只调用了一次。请指导我可能会遇到什么问题?

型号:

public class state_model
{

    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    [Key]
    public int state_id { get; set;}
    public string state_name { get; set; }
}

控制器操作:

public ActionResult add()
    {
        DataLayer dal = new DataLayer();
        state_model st = new state_model();
        st.state_name = "Bihar";
        dal.states.Add(st);
        dal.SaveChanges();
        return View("View");
    }

Db背景:

public class DataLayer : DbContext
{
    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        base.OnModelCreating(modelBuilder);
        modelBuilder.Entity<state_model>().ToTable("state_master");
    }

    public DbSet<state_model> states { get; set; }

}

数据库快照:

Database entries... 查看快照:

record dislpayed in browser

0 个答案:

没有答案