Azure Table Storage のテーブルに保存する Person クラスがあります。
次のクエリのいずれかでクエリを実行したい:
var query = from getThis in _serviceContext.CreateQuery<PersonForSearch>(_tableName)
where getThis.Name.Contains(searchTerm)
select new Person
{
PartitionKey = getThis.PartitionKey,
RowKey = getThis.RowKey,
Name = getThis.Name
};
また
CloudTableQuery<Person> query =
(from getThis in _serviceContext.CreateQuery<Person>(_tableName)
where getThis.Name.Contains(searchTerm)
select getThis).AsTableServiceQuery<Person>();
いずれの場合も、クエリの結果をループするために使用する foreach ループで次のエラーがスローされます。
NotImplemented
要求された操作は、指定されたリソースに実装されていません。
おそらくこれは、私の Person モデルが TableServiceEntity から継承されていないという事実に起因すると考えました (その結合を導入することを拒否するため、代わりにこの属性で装飾しました: [DataServiceKey("PartitionKey", "RowKey")] 手動で与えたこれは PartitionKey および RowKey プロパティです。
そこで、DID が TableServiceEntity から継承するエンティティを作成しようとしました。これにより、このテーブルをクエリできるようになります (クエリからわかるように、私が心配している唯一のプロパティは Name です)。
この新しいエンティティは次のとおりです。
class PersonForSearch : TableServiceEntity
{
public string Name { get; set; }
}
ただし、これで問題は解決していません。このエラーは、クエリで使用しているクラス以外のリソースに関するものですか?