ArM*_*MaN 1 c# sql linq linq-to-entities linq-to-sql
我有一个连接两个表的LINQ表达式.我想有条件地检查另一个布尔值:( 注意*********下面的文字)
bool status = testfunc();
var List =
from t in Houses
join k in Tbl_HouseOwner on t.HouseCode equals k.HouseCode
where k.ReqCode== t.ReqCode
*********** if (status) { where k.Name.Contains(Name) } **********
select new
{
...
name = k.Name,
...
};
Run Code Online (Sandbox Code Playgroud)
您可以使用status屏蔽条件,如下所示:
where k.ReqCode == t.ReqCode && (!status || k.Name.Contains(Name))
Run Code Online (Sandbox Code Playgroud)
如果status是false,则OR ||将立即成功,并且AND &&将为真(假设我们必须评估OR ||,AND的左侧&&必须为真).另一方面,如果status是true,则k.Name.Contains(Name)需要对其进行评估以完成对条件的评估.
| 归档时间: |
|
| 查看次数: |
113 次 |
| 最近记录: |