LINQ Deletes
The following example deletes a record for a given Id.
Entities context = new Entities();
var query = from Statuses in context.Statuses
where Statuses.Id == "anId"
select Statuses;
context.DeleteObject(query.FirstOrDefault());
try {
context.SaveChanges();
} catch (Exception e) {
Console.Write(e.Message);
}
This next example deletes a group of records whose Target value equals "thesimpsons". Do note that LINQ only
performs one delete operation per record at a time, as specified by a record's Id. Also note that because of this, LINQ
incurs a performance penalty as it opens a fresh connection with the data source every time it deletes a record.
Entities context = new Entities();
var query = from Statuses in context.Statuses
where Statuses.Target == "thesimpsons"
select Statuses;
foreach (var result in query) {
var delete = from Statuses in context.Statuses
where Statuses.Id == result.Id
select Statuses;
context.DeleteObject(delete.FirstOrDefault());
}
try {
context.SaveChanges();
} catch (Exception e) {
Console.Write(e.Message);
}