1

我正在尝试查询 Azure 表存储。为此,我使用以下两种方法:

表服务上下文:

public IQueryable<T> QueryEntities<T>(string tableName) where T : TableServiceEntity
{
    this.ResolveType = (unused) => typeof(T);
    return this.CreateQuery<T>(tableName);
}

使用上述方法的代码:

CloudStorageAccount account = AzureConnector.GetCloudStorageAccount(AppSettingsVariables.TableStorageConnection);

AzureTableStorageContext context = new AzureTableStorageContext(account.TableEndpoint.ToString(), account.Credentials);

// Checks if the setting already exists in the Azure table storage. Returns null if not exists.
var existsQuery = from e in context.QueryEntities<ServiceSettingEntity>(TableName)
                  where e.ServiceName.Equals(this.ServiceName) && e.SettingName.Equals(settingName)
                  select e;

ServiceSettingEntity existingSettginEntity = existsQuery.FirstOrDefault();

上面的 LINQ 查询生成以下请求 url:

http://127.0.0.1:10002/devstoreaccount1/PublicSpaceNotificationSettingsTable()?$filter=(ServiceName eq 'PublicSpaceNotification') and (SettingName eq 'expectiss')

类中的代码生成以下 MissingMethodException:

在此处输入图像描述

但我不能让它工作。

4

1 回答 1

1

确保您有“ServerSettingEntity”类的无参数构造函数。继承 TableServiceEntity 的“DTO”需要一个没有参数的构造函数。

于 2011-08-19T09:08:16.163 回答