从Azure表中检索特定字段值

时间:2010-08-19 19:50:25

标签: c# azure-storage azure-table-storage

以下代码始终抛出异常

....
DataServiceContext ctx = account.CreateCloudTableClient().GetDataServiceContext();
var val  = (from t in ctx.CreateTable<MyClass>("TableName") 
           select new {testval = t.id}).FirstOrDefault();

如果我阅读该实体,它可以正常工作:

var val  = (from t in ctx.CreateTable<MyClass>("TableName") 
           select t).FirstOrDefault();

从Azure表中只读取一个字段(或者几个,我不想读取实体)是不可能的?

提前致谢。


更新

异常数据:    System.Data.Services.Client.DataServiceQueryException。

消息 - “处理此请求时出错。”

内部异常 - 代码:“InvalidInput”,消息:“其中一个请求输入无效。”

1 个答案:

答案 0 :(得分:2)

我似乎记得当前的实现仅支持获取完整的实体,并且不支持匿名类。

另一种选择是获取完整实体,然后将其转换为匿名类型。请注意,在这种情况下,您实际上是在拉动完整实体然后对其进行转换,从而导致带宽消耗超过实际需要的带宽。