mar*_*zzz 7 c# linq expression
如果某些变量有一些值,我需要提取一些记录.
例如,如果status> 0,我需要过滤结果,如:
where object.id=status
Run Code Online (Sandbox Code Playgroud)
否则,如果status = 0,我需要删除where where子句并返回所有元素.我会摆脱:
if(status>0)
do a linq query with the where clauses
else
do a link query with that where clauses
Run Code Online (Sandbox Code Playgroud)
代码太多,因为要检查的变量可能超过4-5.
是否有可能在LINQ上"注入"一种字符串?(所以我可以创建我的字符串并将其传递给LINQ).
我的意思是:
string myQuery="";
if(status>0)
myQuery="where object.id=status";
else
myQuery="";
Run Code Online (Sandbox Code Playgroud)
可能吗?(经典的mysql行为).
由于LINQ是懒惰的,你可以做到
var query = ...
if (status > 0)
{
query = query.Where(o => o.id == status);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1736 次 |
| 最近记录: |