Reputation: 329
I select one id from DB and then I want to delete row with this id:
var ado = new mydbEntities();
var selItem = listView3.SelectedItems[0];
if (selItem != null)
{
var selId = (from t in ado.task
where t.t_name == selItem.Text
select new { t.id});
ado.task.DeleteOnSubmit(selId); //this command return error
}
I trying delete with DeleteOnSubmit
, but I get error.
How can I delete row from DB ?
Upvotes: 2
Views: 843
Reputation: 180897
EDIT: Since you seem to be working with an ObjectSet
, you'll need to use DeleteObject();
var sel = (from t in ado.task
where t.t_name == selItem.Text
select t).FirstOrDefault();
if(sel != null)
ado.task.DeleteObject(sel);
DeleteOnSubmit() takes an entity as a parameter, not an anonymous type. This should work better;
var sel = (from t in ado.task
where t.t_name == selItem.Text
select t).FirstOrDefault();
if(sel != null)
ado.task.DeleteOnSubmit(sel);
If you want to delete multiple entities, use DeleteAllOnSubmit() which takes an enumerable of entities;
var sel = from t in ado.task
where t.t_name == selItem.Text
select t;
ado.task.DeleteAllOnSubmit(sel);
Upvotes: 1
Reputation: 6082
var ado = new mydbEntities();
var selItem = listView3.SelectedItems[0];
if (selItem != null)
{
var tasksToDelete = from t in ado.task
where t.t_name == selItem.Text
select t;
ado.task.DeleteOnSubmit(tasksToDelete);
}
Upvotes: 0