2010-08-19 42 views
0

下面的代碼總是拋出異常檢索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

回答

2

我似乎記得目前的實現只支持獲取完整的實體並且不支持匿名類。

另一種選擇是獲取完整的實體,然後將其轉換爲匿名類型。請注意,在這種情況下,您實際上正在拉動完整的實體,然後進行轉換,導致帶寬消耗比實際需要的更多。

+0

是的,我終於完成了拉完整實體並獲得期望的領域。我想也許我錯過了一些明顯的東西。謝謝。 – a1ex07 2010-08-24 15:06:53