我只是有一個非常簡單的情況,我需要的是使用Linq2Entities刪除記錄。我試圖做一些研究,但仍然無法找出正確的做法。正確的方法來刪除LINQ to Entities中的記錄
這裏是我的簡單的代碼:
[DataObjectMethod(DataObjectMethodType.Delete)]
public void DeleteEmployee(Employee z)
{
using (var ctx = new MyEntity())
{
var x = (from y in ctx.Employees
where y.EmployeeId == z.EmployeeId
select y).FirstOrDefault();
ctx.DeleteObject(x);
ctx.SaveChanges();
}
}
[DataObjectMethod(DataObjectMethodType.Select)]
public List<Employee> GetAllEmployee()
{
using (var ctx = new MyEntity())
{
var x = from y in ctx.Employees
select y;
return x.ToList();
}
}
我可以刪除特定的記錄例如如果我給你y.EmployeeName ==「哈羅德·哈維爾」以刪除上述方法,但是當我分配ÿ .EmployeeId == z.EmployeeId到上面的代碼,刪除不起作用。 (注意:EmployeeId是Employee表的主鍵)
你的代碼有什麼問題?任何錯誤?如果是的話發佈。 – 2013-03-18 04:23:29
我們可以編譯代碼,看起來沒問題。但是當我們將它與ObjectDataSource(ASP.NET WebForm)一起使用時,Delete按鈕不起作用。 – 2013-03-18 05:38:00
嘗試'ctx.Employees.DeleteOnSubmit(x)'而不是'ctx.DeleteObject(x)' – MarcinJuraszek 2013-03-18 08:51:13