我正在使用多种方法构建IQueryable查询。这些方法有些复杂,但我想解决的问题可以提炼并简化为以下形式。我有两个方法:
private Expression<Func<T, bool>> CreateExpressionA(string ValueA)
{
return a => a.PropertyA.ToLower() == ValueA;
}
private Expression<Func<T, bool>> CreateExpressionB(string ValueB)
{
return a => a.PropertyB.ToLower() == ValueB;
}
我更希望有这个:
private Expression<Func<T, bool>> CreateExpression(??? Selector, string Value)
{
return a => a.Selector.ToLower() == Value;
}
或者采用类似的方法,使我避免有两个完全相同的方法,唯一的区别在于使用对象的哪个属性。
有没有一种优雅的方式可以做到这一点?