Обновление нескольких строк в Entity Framework из списка идентификаторов
Я пытаюсь создать запрос для Entity framework, который позволит мне взять список идентификаторов и обновить поле, связанное с ними.
пример в SQL:
UPDATE Friends
SET msgSentBy = '1234'
WHERE id IN (1, 2, 3, 4)
Как мне преобразовать выше в entity framework?
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