我正在尝试创建一个通用方法来仅读取 azure table 的某些属性。创建这个我使用 TableQuery,但有些我无法通过过滤条件
public IEnumerable<T1> ExecuteQuery<T, T1>(Expression<Func<T,bool>> predicate)
where T : TableEntity, IDomainData, new()
where T1 : new()
{
Type typeParameterType = typeof(T);
CloudTable tableReference = tableClient.GetTableReference(typeParameterType.Name);
var query = new TableQuery<T>()
{
FilterString = predicate.Body.ToString(),
SelectColumns = typeof(T1).GetListOfPropertyNames()
};
query = query.Where(predicate).AsTableQuery(); ==> Throws error Object reference error
return tableReference.ExecuteQuery(query) as List<T1>;
//return tableReference.ExecuteQuery<T, T1>(query,EntityAdapter.AdapterResolver<T1>);
}
是否有将 Filterstring 传递给 TableQuery 并使用 azure table 实例执行 TableQuery 的地方