【发布时间】:2021-12-09 19:34:51
【问题描述】:
我正在尝试根据用户的输入生成 LINQ TO Sql 查询。使用 AND 谓词动态创建 LINQ 查询非常简单:
var query = context.Users;
if (age != null)
{
query = query.Where(x => x.Age == age);
}
if (name != null)
{
query = query.Where(x => x.Name == name);
}
因此,如果年龄和姓名在所有查询之后都不为空,则如下所示:
query.Where(x => x.Age == age && x.Name == name);
但是如何制作它,而不是 AND 我希望它是 OR?我希望最终的查询是这样的:
query.Where(x => x.Age == age || x.Name == name);
【问题讨论】:
-
试试看linqKit
-
请不要破坏您的帖子。通过在 Stack Exchange 网络上发帖,您已在 CC BY-SA 4.0 license 下授予 Stack Exchange 分发该内容的不可撤销的权利(即无论您未来的选择如何)。根据 Stack Exchange 政策,帖子的非破坏版本是分发的版本,因此,任何破坏行为都将被撤销。如果您想了解更多关于删除帖子的信息,请参阅:How does deleting work?。
标签: c# entity-framework linq