LINQ is a query language, so it does not perform updates or inserts. However, the LINQ to SQL object model has CUD processing methods:
using(MyDataContext dc = new MyDataContext())
{
var Table2Entities = (from e in dc.Table2 where e.Field1 == "value" select e);
Table2Entities.ForEach(t2e => dc.Table1.InsertOnSubmit(
new Table1Entity {
Field1 = t2e.Field1,
Field2 = t2e.Field2,
Field3 = t2e.Field3
});
dc.SubmitChanges();
}
The real difference is that it requires two separate SQL transactions instead of one - one for selection and one for insertion.
source
share