【发布时间】:2018-12-07 15:22:58
【问题描述】:
如何在不知道源列名大小写的情况下将数据读入具体模型?
我正在从表存储中读取数据:
public static IEnumerable<Translation> GetTranslations(string sourceParty, string destinationParty)
{
var acc = CloudStorageAccount.Parse(Environment.GetEnvironmentVariable("RRRCacheStorageConnection"));
var tableClient = acc.CreateCloudTableClient();
var table = tableClient.GetTableReference(Environment.GetEnvironmentVariable("RRRTableCache"));
TableQuery<Translation> rangeQuery = new TableQuery<Translation>().Where(
TableQuery.CombineFilters(
TableQuery.GenerateFilterCondition(Environment.GetEnvironmentVariable("SourcePartyColumnName"), QueryComparisons.Equal, sourceParty),
TableOperators.And,
TableQuery.GenerateFilterCondition(Environment.GetEnvironmentVariable("DestinationPartyColumnName"), QueryComparisons.Equal, destinationParty)));
return table.ExecuteQuery(rangeQuery);
}
然后我转储到一个具体的模型中,如下所示:
public class Translation : TableEntity
{
public Translation()
{
}
public string translatefrom { get; set; }
public string translateto { get; set; }
public string TranslationId { get; set; }
public string FieldType { get; set; }
public string sourceparty { get; set; }
public string destinationparty { get; set; }
}
但是,如果 Azure 中的源表有一个名为 TranslateFrom 的字段而不是 translatefrom(如上述类中所定义),则不会读取数据。
如何在不知道源列名大小写的情况下将数据读入具体模型?
【问题讨论】:
-
这个绝对可以;但是我对表格存储不是很熟悉。当我 .AddSignalR (AzureSignalR) 我在启动时执行此操作以绕过它 - 所以它可以完成.. 你需要等待有表存储经验的人来回答,但如果这没有不要指向它: .AddAzureSignalR(signalRConnString) .AddJsonProtocol(options => { options.PayloadSerializerSettings.ContractResolver = new DefaultContractResolver(); });
标签: c# .net azure visual-studio-2017 azure-table-storage