MVC AddObject创建多条记录

问题描述:

我有一个包含多条记录的列表。我喜欢使用AddObject创建这些记录,但发生的情况是它只创建列表中的最后一条记录。MVC AddObject创建多条记录

下面是代码

foreach (var item in invlist) { 

     invmodel.tblrec.FirstName = item.FirstName; 
     invmodel.tblrec.LastName = item.LastName; 

     db.tblRec.AddObject(invmodel.tblrec);       

    } 

    db.SaveChanges(); 

我将开始与这个非常简单的代码进行修改:

foreach (var item in invlist) { 

    var tblRec = new TblRec(); 
    tblRec.FirstName = item.FirstName; 
    tblRec.LastName = item.LastName; 

    db.tblRec.AddObject(tblRec);       

} 

db.SaveChanges(); 

为什么?因为你的代码反复添加同一个实例,而对于EF,它仍然是同一个对象 - 它会导致异常,或者只有最后一个项目会被插入到数据库中。