MVC AddObject Создать несколько записей - PullRequest
0 голосов
/ 02 декабря 2011

У меня есть список, который содержит несколько записей. Мне нравится использовать AddObject для создания этих записей, но происходит то, что он создает только последнюю запись в списке.

Вот код

    foreach (var item in invlist) {

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

         db.tblRec.AddObject(invmodel.tblrec);                         

     }

     db.SaveChanges();

1 Ответ

2 голосов
/ 04 декабря 2011

Я бы начал с этой очень простой модификации вашего кода:

foreach (var item in invlist) {

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

     db.tblRec.AddObject(tblRec);                         

 }

 db.SaveChanges();

Почему?Поскольку ваш код многократно добавляет один и тот же экземпляр, а для EF это все тот же объект - это приведет либо к исключению, либо к базе данных будет добавлен только последний элемент.

...