我需要在运行时构建一个 where 子句,但我需要对 where 子句进行 OR。这可能吗..让我解释一下..
这里我的代码......,基本上“过滤器”是一个枚举按位,儿子因此过滤器可能等于以下1个以上......因此我需要建立where子句......
如果我单独执行 wheres,而不是想象我先执行 Untested,它返回 0 条记录,这意味着我无法在 Tested 上执行 where,因为它现在有 0 条记录。
我会在下面放一些伪代码:-)
string myWhere = "";
if ((filter & Filters.Tested) == Filters.Tested)
{
if (myWhere != "" ) myWhere =myWhere + "||";
myWhere = myWhere " Status == "Tested";
}
if ((filter & Filters.Untested) == Filters.Untested)
{
if (myWhere != "" ) myWhere =myWhere + "||";
myWhere = myWhere " Status == "Untested";
}
if ((filter & Filters.Failed) == Filters.Failed)
{
if (myWhere != "" ) myWhere =myWhere + "||";
myWhere = myWhere " Status == "Failed";
}
// dataApplications = a List of items that include Tested,Failed and Untested.
// dataApplciation.Where ( myWhere) --- Confused here!
这可能吗..
我不想包含很多“IF”,因为有很多组合,即没有过滤器,过滤器=仅测试,过滤器=未经测试和测试......等等
任何想法都非常感谢
谢谢