Search code examples
entity-frameworkasp.net-coreentity-framework-coresql-update

How to update multiple rows of a database table in ASP.NET Core


I want to update multiple rows in ASP.NET Core, but I get an error:

InvalidOperationException: The entity type 'EntityQueryable' was not found. Ensure that the entity type has been added to the model.

This is my code:

var data = _db.UserTable.Where(a => a.CityIDn == selectedid);

foreach (var items in data)
{
    await Task.Run(() =>
                {
                    items.CityID = 2;
                });

    _db.Update(data);
    await _db.SaveChangesAsync();
}

Solution

  • Try this for multiple rows:

    var data = _db.UserTable.Where(a => a.CityIDn == selectedid).ToList();
    
    foreach (var item in data)
    {
        item.CityID = 2;
        _db.UserTable.Update(item);
    }
    await _db.SaveChangesAsync();
    

    And for one record, try like this:

    var data = _db.UserTable.Where(a => a.CityIDn == selectedid).FirstOrDefault();
    if(data != null)
    {
        data.CityID = 2;
        _db.UserTable.Update(data );
        await _db.SaveChangesAsync();
    }