我有一个 Person 类,我将其保存到 Azure 表存储中的表中。
我想使用以下查询之一来查询它:
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; }
}
然而,这并没有解决问题。这个错误是在谈论我在查询中使用的类之外的其他资源吗?