在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; }
}
数据库快照: