2

我在项目中使用动态 linq,但不知道如何根据参数运行特定查询。下面的示例显示了用于运行 3 个单独查询的动态 linq,其中用户输入了过滤器表达式或过滤器和排序表达式等。不使用 if 语句来检查 I(这看起来不正确且混乱,因为我可能会得到很多 if涵盖许多不同排列的语句)我不确定如何动态生成语句。这可能吗?我正在针对实体框架运行此查询。

context.Users.AsQueryable().Where(filterExpression)
context.Users.AsQueryable().Where(filterExpression).OrderBy(sortExpression)
context.Users.AsQueryable()Take(10).Where(filterExpression).OrderBy(sortExpression)
4

1 回答 1

3

这应该只使用表达式树来实现,或者可以使用 if..else 子句

如何:使用表达式树构建动态查询(C# 和 Visual Basic)

于 2012-05-25T08:01:42.033 回答