Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 是否将或添加到我的LINQ查询?_C#_Linq - Fatal编程技术网

C# 是否将或添加到我的LINQ查询?

C# 是否将或添加到我的LINQ查询?,c#,linq,C#,Linq,所以我有“不断扩展的LINQ查询”。。。我发现自己不得不附加一些参数,而且我变得很生气。我有这个: var ud = db.Updates .Where(c => c.Sold.Equals(false)&&(c.Status.Equals(("Pending")))) .GroupBy(c => c.Vehicle) .Select(x => x .OrderByDescending(y => y.TimeStamp)

所以我有“不断扩展的LINQ查询”。。。我发现自己不得不附加一些参数,而且我变得很生气。我有这个:

 var ud = db.Updates
   .Where(c => c.Sold.Equals(false)&&(c.Status.Equals(("Pending"))))
   .GroupBy(c => c.Vehicle)
   .Select(x => x
      .OrderByDescending(y => y.TimeStamp)
      .First())
   .ToList();
我需要在“c.Status.Equals”中添加一个OR来测试多个字符串值。。。例如“待定”| |“拒绝”这样做的正确方式/地点是什么


非常感谢您的帮助

> P>您可能需要考虑存储一组值以查看是否满足任何约束:

// Store all of the statuses you need to match within a collection
var validStatuses = new []{ "Pending", "Rejected", ... };
然后,您只需要更新
Where()
子句,以检查您的现有状态是否与先前定义的集合中的任何状态匹配:

db.Updates.Where(c => !c.Sold && validStatuses.Contains(c.Status)))

您可能需要考虑存储一组值以查看是否满足任何约束:

// Store all of the statuses you need to match within a collection
var validStatuses = new []{ "Pending", "Rejected", ... };
然后,您只需要更新
Where()
子句,以检查您的现有状态是否与先前定义的集合中的任何状态匹配:

db.Updates.Where(c => !c.Sold && validStatuses.Contains(c.Status)))
(c.Status.Equals(“待定”)| c.Status.Equals(“拒绝”))

(c.Status.Equals(“待定”)| c.Status.Equals(“拒绝”))


尝试使用| |或运算符

   (c.Status.Equals(("Pending")|| c.Status.Equals("Rejected"));

尝试使用| |或运算符

   (c.Status.Equals(("Pending")|| c.Status.Equals("Rejected"));

为什么不
c=>!c、 已售出和c.状态==“待定”
?你真的不需要在这里使用
Equals
。为什么不使用
c=>!c、 已售出和c.状态==“待定”
?在这里,您真的不需要使用
Equals
。。。。非常感谢。我知道一定有更简单的方法,但智能感知正在尖叫。里面有语法错误吗?我太迷糊了,但我正在努力想办法。哦。。。当然非常感谢。我真的应该知道,不要熬夜太晚,对这种事情动手动脚。我非常非常感激!非常感谢你!哎呀。我缺少大括号来表示上面的集合是一个数组。这应该可以解决问题。。。。非常感谢。我知道一定有更简单的方法,但智能感知正在尖叫。里面有语法错误吗?我太迷糊了,但我正在努力想办法。哦。。。当然非常感谢。我真的应该知道,不要熬夜太晚,对这种事情动手动脚。我非常非常感激!非常感谢你!哎呀。我缺少大括号来表示上面的集合是一个数组。这应该可以解决问题。@Rion Williams。。。我能再次得到你的好意吗?我意识到我需要做出改变,我的大脑正在融化。这里的最终结果是我需要从表中检索最近的条目,因为它包含一个数组值。这意味着我需要在结尾应用该子句(?)到目前为止,我所拥有的如下内容:var validstates=new[]{“已分配”、“已调用捐赠者”、“已调度”、“正在等待”};var ud=db.Updates.Where(c=>!c.salled&&validstatus.Contains(c.Status)).GroupBy(c=>c.Vehicle)。选择(x=>x.OrderByDescending(y=>y.TimeStamp).First()).ToList();它返回多个条目,因为“Status”子句需要出现在日期之后,这样它只会在Status是数组中的一个条目时返回最近的条目。我很抱歉。。。你能帮忙吗?伙计,我不知道我有没有拿到。你能展示一下回报和你的期望吗?但是,我认为First()必须放在Select()之后。例如:选择(x=>x.OrderByDescending(y=>y.TimeStamp)).First()@Rion Williams。。。我能再次得到你的好意吗?我意识到我需要做出改变,我的大脑正在融化。这里的最终结果是我需要从表中检索最近的条目,因为它包含一个数组值。这意味着我需要在结尾应用该子句(?)到目前为止,我所拥有的如下内容:var validstates=new[]{“已分配”、“已调用捐赠者”、“已调度”、“正在等待”};var ud=db.Updates.Where(c=>!c.salled&&validstatus.Contains(c.Status)).GroupBy(c=>c.Vehicle)。选择(x=>x.OrderByDescending(y=>y.TimeStamp).First()).ToList();它返回多个条目,因为“Status”子句需要出现在日期之后,这样它只会在Status是数组中的一个条目时返回最近的条目。我很抱歉。。。你能帮忙吗?伙计,我不知道我有没有拿到。你能展示一下回报和你的期望吗?但是,我认为First()必须放在Select()之后。Ex:Select(x=>x.OrderByDescending(y=>y.TimeStamp)).First()