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();
}
}
たとえば、上記のDeleteメソッドにy.EmployeeName == "Harold Javier"を割り当てると、特定のレコードを削除できますが、上記のコードにy.EmployeeId == z.EmployeeIdを割り当てると、削除が機能しません。(注:EmployeeIdはEmployeeテーブルの主キーです)