如何在System.Linq.Dynamic.Core中执行此Date is empty & Date is not empty
,我目前正在执行此操作,但无法正常工作:
if (filter.Operator.StartsWith("is empty") ||
filter.Operator.StartsWith("is not empty"))
{
filterOp = filter.Operator.StartsWith("is not") ? "!=" : "==";
qs = $"{filter.Column.PropertyName} {filterOp} ''";
}
query = query.Where(qs);
字符串
1条答案
按热度按时间relj7zay1#
帮你完成今年的工作。
MudBlazor
已经可以构建过滤器表达式,不需要像Dynamic.LINQ
这样的额外拐杖。我已经检查了这段代码,它应该可以与EF Core一起工作。有功能:
字符串
所以,基本上你可以通过以下方式使用这个函数:
型
如果你有这些定义的列表,你可以创建一个帮助函数,将这个列表应用到任何
IQueryable
上。型
现提出以下评论:
但是为了检查它在最后是不是可查询的,当我想将查询转换为QueryString()时,我得到了错误“The given 'IQueryable' does not support generation of query strings.”
只有当
DbSet
启动IQueryable
时才能调用扩展方法ToQueryString()
,它不适用于通过调用AsQueryable()
从IEnumerable
创建的IQueryable
。这些IQueryable
具有不同的Provider
,ToQueryString()
期望此提供程序是特定的EF Core提供程序。