gpt4 book ai didi

c# - 是否可以将字符串用于 LINQ 查询表达式?

转载 作者:太空狗 更新时间:2023-10-29 19:53:13 24 4
gpt4 key购买 nike

如果一些变量有一些值,我需要提取一些记录。

例如,如果 status>0 我需要像这样过滤结果:

where object.id=status

否则,如果 status=0,我需要删除此 where 子句并返回所有元素。我会摆脱 :

if(status>0)
do a linq query with the where clauses
else
do a link query with that where clauses

代码太多,因为要检查的变量可能超过 4-5 个。

是否可以在 LINQ 上“注入(inject)”某种字符串? (这样我就可以创建我的字符串并将其传递给 LINQ)。

我的意思是:

string myQuery="";
if(status>0)
myQuery="where object.id=status";
else
myQuery="";

这可能吗? (经典的 mysql 行为)。

最佳答案

因为 LINQ 是惰性的,你可以这样做

var query = ...

if (status > 0)
{
query = query.Where(o => o.id == status);
}

关于c# - 是否可以将字符串用于 LINQ 查询表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6847148/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com