我只是有一个非常简单的情况,我只需要使用 Linq2Entities 删除记录。我试图做一些研究,但仍然无法找到正确的方法。
这是我的简单代码:
[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 == "Harold Javier"分配给上面的 Delete 方法,我可以删除特定记录,但是当我将y.EmployeeId == z.EmployeeId分配给上面的代码时,删除不起作用。(注:EmployeeId是Employee表的主键)