J'ai une classe Personne que j'enregistre dans une table dans le stockage de table Azure.
Je veux la rechercher avec l'une des requêtes suivantes :
var query = from getThis in _serviceContext.CreateQuery(_tableName)
where getThis.Name.Contains(searchTerm)
select new Personne
{
PartitionKey = getThis.PartitionKey,
RowKey = getThis.RowKey,
Name = getThis.Name
};
OU
CloudTableQuery query =
(from getThis in _serviceContext.CreateQuery(_tableName)
where getThis.Name.Contains(searchTerm)
select getThis).AsTableServiceQuery();
Avec l'un ou l'autre, je reçois l'erreur suivante, lancée dans la boucle foreach que j'utilise pour parcourir les résultats de la requête :
NotImplemented
L'opération demandée n'est pas implémentée sur la ressource spécifiée.
J'ai pensé que cela pouvait résulter du fait que mon modèle Personne n'hérite pas de TableServiceEntity (je refuse d'introduire ce couplage - je l'ai donc décoré avec cet attribut [DataServiceKey("PartitionKey", "RowKey")] et lui ai donné manuellement une propriété PartitionKey et RowKey.
J'ai donc essayé de créer une entité qui héritait bien de TableServiceEntity, ce qui me permettrait de interroger cette table (comme vous pouvez le voir à partir des requêtes, la seule propriété qui m'intéresse est le Nom).
Cette nouvelle entité est la suivante :
class PersonForSearch : TableServiceEntity
{
public string Name { get; set; }
}
Cependant, cela n'a pas résolu le problème. Est-ce que cette erreur parle d'une autre ressource que la classe que j'utilise dans ma requête?