【发布时间】:2021-01-21 16:00:08
【问题描述】:
由于某种原因,我无法在 FirstorDefault 中实现多个条件,因此我的功能无法正常工作。我在 StackOverflow 上看到了人们能够做到的其他示例,但我做不到。如果我只测试 && Year 或 && Org,它可以工作。但是当我添加第二个 && 语句时,它什么也不做。对于我发送的数据,所有条件都成立,并且我已经反复确认了这一点。
我可以做些什么来完成这项工作?
public partial class Cmp_REC
{
public int cId { get; set; }
public int Org { get; set; }
public int Year { get; set; }
public virtual Cmp_Accounts Cmp_Accounts { get; set; }
}
public static void DeleteREC(int cId, int Year, int Org)
{
using (Entities dataContext = new Entities())
{
Cmp_REC toDelete = dataContext.Cmp_REC.FirstOrDefault(c => c.cId == cId && c.Org == Org && c.Year == Year);
if (toDelete != null)
{
dataContext.Cmp_REC.Remove(toDelete);
dataContext.SaveChanges();
}
}
}
【问题讨论】:
-
你检查到删除了吗。也许它是空的。你能展示你的 Cmp_REC 课程吗?
-
@Sergey 你去吧。如果我只有 c => c.cId == cId && c.Org == Org 或 c => c.cId == cId && c.Year == Year,它就可以工作
-
这就是为什么我怀疑在语法方面发生了什么事。
-
你没有回答这个问题。当您有 3 个参数时,toDelete 是否为空?当你有2个参数时它是空的吗?我只是想找到发生错误的地方。是在选择还是添加。
-
不为空。 @Sergey