ASP.Net EF标识列问题,单个操作上的重复条目
在APS.NETentity framework中,我将state_id指定为Identity列,并且我在MySql Table中将其设置为Auto-Incremented字段。 但是当我执行插入操作时,它会为具有不同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().ToTable("state_master"); } public DbSet states { get; set; } }
数据库快照:
查看快照: