C# 如何编写linq语句来检查记录是否存在,然后对其进行更改?

C# 如何编写linq语句来检查记录是否存在,然后对其进行更改?,c#,linq,C#,Linq,我想写一个linq语句,这样如果一条记录存在,那么就可以对其中一个对象属性进行更改,否则就让它保持以前的状态 请在下面纠正我,我无法形成它 ButtonColor = (from yy in cn.OrderDressings where yy.OrderID == this.OrderID && yy.OrderItemID == this.ProductID select yy.IsApplied == true

我想写一个linq语句,这样如果一条记录存在,那么就可以对其中一个对象属性进行更改,否则就让它保持以前的状态

请在下面纠正我,我无法形成它

ButtonColor = (from yy in cn.OrderDressings 
               where yy.OrderID == this.OrderID && yy.OrderItemID == this.ProductID 
               select yy.IsApplied == true) ? ButtonColor.Green : ButtonColor.Red

我试图使用
FirstOrDefault
。任何
,但没有成功。

为什么选择
yy.IsApplied==true
?这是不是意味着另一种情况?什么是按钮颜色?不清楚您是否正在尝试更改查询找到的实体的属性或其他内容。不,这不是条件,但如果我选择“否”,则会出现错误,因此我是这样做的。如果数据库中存在相关记录,我将尝试更改按钮颜色表单数据库,否则将其保留。这是什么意思“按钮颜色表单数据库”"? 你的问题真的不清楚。看起来你不想更改记录的属性,但我不确定。不,那不是,虽然它似乎正常工作,但如果没有记录存在,它将使按钮颜色不受影响,不会出错?@JonSkeet事实上,这是我对OP的意思的猜测,他的代码甚至没有编译。我删除了x.ispplied。@Nearrotodotnet,它甚至不涉及这里,但您仍然将其添加到您的代码中?这让我很困惑,我也要把它去掉。
ButtonColor = cn.OrderDressings
                .Any(x=>x.OrderID == OrderID &&
                        x.OrderItemID == ProductID) ? ButtonColor.Green : ButtonColor.Red;