相关疑难解决方法(0)

C#PredicateBuilder实体:参数"f"未绑定在指定的LINQ to Entities查询表达式中

我需要构建一个动态过滤器,我想继续使用实体.由于这个原因,我想使用albahari的PredicateBuilder.

我创建了以下代码:

var invoerDatums = PredicateBuilder.True<OnderzoeksVragen>();
var inner = PredicateBuilder.False<OnderzoeksVragen>();

foreach (var filter in set.RapportInvoerFilter.ToList())
{
    if(filter.IsDate)
    {
        var date = DateTime.Parse(filter.Waarde);
        invoerDatums = invoerDatums.Or(o => o.Van >= date && o.Tot <= date);
    }
    else
    {
        string temp = filter.Waarde;
        inner = inner.Or(o => o.OnderzoekType == temp);
    }
}

invoerDatums = invoerDatums.And(inner);
var onderzoeksVragen = entities.OnderzoeksVragen
                               .AsExpandable()
                               .Where(invoerDatums)
                               .ToList();
Run Code Online (Sandbox Code Playgroud)

当我运行代码时,只有一个过滤器,它不是日期过滤器.因此只有内部谓词被填充.执行谓词时出现以下错误.

参数"f"未绑定在指定的LINQ to Entities查询表达式中.

在搜索答案时,我找到了以下页面.但这已经在LINQKit中实现了.

是否有其他人遇到此错误并知道如何解决?

c# linq-to-entities predicatebuilder

54
推荐指数
2
解决办法
1万
查看次数

标签 统计

c# ×1

linq-to-entities ×1

predicatebuilder ×1