MVC AddObject创建多个记录

时间:2011-12-01 23:13:37

标签: c# .net entity-framework list

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

这是代码

    foreach (var item in invlist) {

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

         db.tblRec.AddObject(invmodel.tblrec);                         

     }

     db.SaveChanges();

1 个答案:

答案 0 :(得分:2)

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

foreach (var item in invlist) {

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

     db.tblRec.AddObject(tblRec);                         

 }

 db.SaveChanges();

为什么呢?因为您的代码重复添加相同的实例,而对于EF,它仍然是同一个对象 - 它将导致异常,或者只将最后一个项插入数据库。