检索Azure的表中特定字段值

问题描述:

下面的代码总是抛出异常检索Azure的表中特定字段值

.... 
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”,消息:“其中一个请求输入无效。”

+0

有什么例外? – SLaks 2010-08-19 19:51:23

+0

以异常信息更新 – a1ex07 2010-08-19 19:57:04

+0

请注意,现在支持2011-08-18表存储版本。 – porges 2012-01-16 22:38:04

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

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

+0

是的,我终于完成了拉完整实体并获得期望的领域。我想也许我错过了一些明显的东西。谢谢。 – a1ex07 2010-08-24 15:06:53