我们现在花了一些时间通过谷歌进行研究,了解如何使用cloudFX库查询我们的Azure表(在存储模拟器设置上),但几乎没有可用的示例显示它是如何工作的。
这是我们编写的一个简单函数
public T GetTableRecord<T>(string tableName, string partitionKey, string rowKey) where T : TableEntity
{
using (var tableStorage = Extensions.Find<ICloudStorageProviderExtension>().DefaultTableStorage)
{
var qry = tableStorage.Get<T>(tableName, partitionKey, rowKey);
var result = qry.????
}
}
无论我们使用qry.???
尝试什么,它总会抛出一个异常,它无法转换为IQueryable(T)
有人可以帮助我们了解我们如何使用这种方法。
EDIT1:
为了澄清错误,我得到这样的结果:
var entity = tableStorage.Get<MyEntity>("Table", "Partition").FirstOrDefault();
now throws the following exception:
Expression of type 'System.Linq.IOrderedQueryable`1[Microsoft.WindowsAzure.Storage.Table.DynamicTableEntity]' cannot be used for parameter of type 'System.Linq.IQueryable`1[CloudFxTest.MyEntity]' of method 'CloudFxTest.MyEntity FirstOrDefault[MyEntity](System.Linq.IQueryable`1[CloudFxTest.MyEntity])'
问候 基兰
答案 0 :(得分:0)
我认为IQueryable
并未得到完全支持,我使用qry.ToList()
工作,万一它可以帮助任何人。