我有一个 IQueryable 和一个 T 类型的对象。
我想做 IQueryable().Where(o => o.GetProperty(fieldName) == objectOfTypeT.GetProperty(fieldName))
所以 ...
public IQueryable<T> DoWork<T>(string fieldName)
where T : EntityObject
{
...
T objectOfTypeT = ...;
....
return SomeIQueryable<T>().Where(o => o.GetProperty(fieldName) == objectOfTypeT.GetProperty(fieldName));
}
仅供参考,GetProperty 不是有效函数。我需要执行此功能的东西。
我是周五下午的大脑融化了还是这是一件复杂的事情?
objectOfTypeT 我可以执行以下操作...
var matchToValue = Expression.Lambda(ParameterExpression
.Property(ParameterExpression.Constant(item), "CustomerKey"))
.Compile().DynamicInvoke();
效果很好,现在我只需要第二部分:
return SomeIQueryable().Where(o => o.GetProperty(fieldName) == matchValue);