如何修改表达式以将其传递给方法

时间:2011-07-14 17:59:36

标签: c#-4.0 expression

问题是:

public GetAll(Expression<Func<CampModel, bool>> whereCondition)
{
   // and it should call another GetAllCampsFromRepo method that gets Camps from a repository
}

public IList<Camp> GetAllCampsFromRepo(Expression<Func<Camp, bool>> whereCondition)
{
     return // Blah blah the list of Camps
}

所以问题是如何正确地从第一个方法的主体调用第二个方法,将不同类型的属性 - CampModel对象映射到Camp对象(它们相似但不同)

如何转换whereCondition以便将其传递给GetAllCampsFromRepo?因为我不能原样传递它:

GetAllCampsFromRepo(whereCondition)

我可以使用System.Linq.Expressions.ExpressionVisitor之类的东西并修改原始表达式吗?怎么做?

1 个答案:

答案 0 :(得分:3)