Update using LINQ to SQL

Don Of Qau picture Don Of Qau · May 26, 2009 · Viewed 106.5k times · Source

How can I update a record against specific id in LINQ to SQL?

Answer

Marc Gravell picture Marc Gravell · May 26, 2009

LINQ is a query tool (Q = Query) - so there is no magic LINQ way to update just the single row, except through the (object-oriented) data-context (in the case of LINQ-to-SQL). To update data, you need to fetch it out, update the record, and submit the changes:

using(var ctx = new FooContext()) {
    var obj = ctx.Bars.Single(x=>x.Id == id);
    obj.SomeProp = 123;
    ctx.SubmitChanges();
}

Or write an SP that does the same in TSQL, and expose the SP through the data-context:

using(var ctx = new FooContext()) {
    ctx.UpdateBar(id, 123);
}