如何将PredicateBuilder与存储库模式一起使用?

时间:2014-01-29 21:45:00

标签: entity-framework linq-to-entities predicatebuilder

我正在尝试使用Joseph Albahari的PredicateBuilder和我的应用程序Respository,它给了我以下错误:

'MySite.DAL.Respositories.IMyObjRepository.SearchFor(S ystem.Linq.Expressions.Expression<System.Func<MySite.DAL.MyObj,bool>>)'的最佳重载方法匹配有一些无效的参数

MySite.DAL.Respositories.IMyObjRepository.SearchFor的签名:

public IQueryable<MyObj> SearchFor(Expression<Func<MyObj, Boolean>> predicate)

代码调用SearchFor:

var predicate = PredicateBuilder.True<MySite.DAL.MyObj>();
predicate = predicate.And(a => a.county.name == CountyName);
return _myObjRespository.SearchFor(predicate);

我知道我不需要PredicateBuilder用于此查询 - 我已将其简化为此问题的目的。简化版仍然会出现相同的错误。

任何帮助/想法/建议表示赞赏。

谢谢。

1 个答案:

答案 0 :(得分:0)

我刚刚发现_myObjRespository.SearchFor()中预期的类型与我在var predicate = PredicateBuilder.True()中设置/发送的类型不匹配;

出于安全/保密原因,MyObj正在替换我的对象名称 - 我意外地替换了原始帖子中的不同类型。