Обновление нескольких строк в Entity Framework из списка идентификаторов



Я пытаюсь создать запрос для Entity framework, который позволит мне взять список идентификаторов и обновить поле, связанное с ними.



пример в SQL:



UPDATE Friends
SET msgSentBy = '1234'
WHERE id IN (1, 2, 3, 4)


Как мне преобразовать выше в entity framework?

642   2  

2 ответов:

что-то вроде ниже

var idList=new int[]{1, 2, 3, 4};
using (var db=new SomeDatabaseContext())
{
    var friends= db.Friends.Where(f=>idList.Contains(f.ID)).ToList();
    friends.ForEach(a=>a.msgSentBy='1234');
    db.SaveChanges();
}

обновление:

вы можете обновить несколько полей, как показано ниже

friends.ForEach(a =>
                      {
                         a.property1 = value1;
                         a.property2 = value2;
                      });

есть два проекта с открытым исходным кодом, позволяющие это:EntityFramework.Расширенный и Елицом рамках расширения.

Comments

    Ничего не найдено.