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

标签 c# linq entity-framework linq-to-entities

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

相关文章:

c# - Entity Framework 在查询中创建一个不存在的列

c# - 在身份框架中添加新属性

c# - 在 ASP.NET Core 中使用参数上传多个文件

entity-framework - Entity Framework Linq 查询 : . Where 链 vs &&

c# - 继承 Linq to SQL 类并转换 linq 查询的结果

c# - 分配变量的成本

c# - GridView 控件中的超链接

c# - 将查询语法中的 LINQ 转换为 lambda 语法

c# - ListView SelectedIndexChanged Event没有Selected Items问题

c# - 将 MyDbContext 合并到 Asp.net IdentityDbContext