Search code examples
c#sqlasp.net-mvcentity-frameworksql-update

Update multiple rows in Entity Framework from a list of ids


I am trying to create a query for Entity Framework that will allow me to take a list of ids and update a field associated with them.

Example in SQL:

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

How do I convert the above into Entity Framework?


Solution

  • Something like below:

    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();
    }
    

    You can update multiple fields as below:

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