gpt4 book ai didi

c# - 在 LINQ to Entities 中删除记录的正确方法

转载 作者:可可西里 更新时间:2023-11-01 08:02:39 24 4
gpt4 key购买 nike

我只是遇到一个非常简单的情况,我只需要使用 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表的主键)

最佳答案

我认为这是删除的更好选择

using (var ctx = new MyEntity())
{
var x = (from y in ctx.Employees
orderby y.EmployeeId descending
select y).FirstOrDefault();
ctx.Employees.Remove(x);
ctx.SaveChanges();
}

在我这边 DeleteObject 不工作所以我使用 Remove

关于c# - 在 LINQ to Entities 中删除记录的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15469684/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com