0

次のコードは常に例外をスローします

....
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 テーブルから 1 つのフィールド (またはいくつか、エンティティを読み取りたくない) だけを読み取ることは不可能ですか?

前もって感謝します。


アップデート:

例外データ: System.Data.Services.Client.DataServiceQueryException。

メッセージ - 「このリクエストの処理中にエラーが発生しました。」

内部例外 - コード:「InvalidInput」、メッセージ:「要求入力の 1 つが無効です。」

4

1 に答える 1

2

現在の実装では完全なエンティティの取得のみがサポートされており、匿名クラスはサポートされていないことを覚えているようです。

もう 1 つのオプションは、完全なエンティティをフェッチしてから、それを匿名型に変換することです。この場合、実際には完全なエンティティをプルしてから変換しているため、実際に必要とされるよりも多くの帯域幅が消費されることに注意してください。

于 2010-08-24T11:25:50.247 に答える