我有一个具有以下架构的azure表:
public class Village : TableServiceEntity
{
public Village(string districtName, string villageName)
{
PartitionKey = districtName.ToLower().Trim();
RowKey = villageName.ToLower().Trim();
DistrictName = districtName;
VillageName = villageName;
}
public string DistrictName {get;set;}
public string VillageName {get;set;}
}
分区名称和村名分别是分区和行密钥。我希望此密钥不区分大小写。也就是说,如果用户给出以下值,则两者都应表示相同的实体:
那是
DistrictName =“TVM”; VillageName =“陈”;
和
DistrictName =“Tvm”; VillageName =“陈”;
以上两个值代表同一个实体。我需要以不区分大小写的方式存储分区和行键。这是正确的做法吗?
答案 0 :(得分:5)
是的,这似乎是正确的做法。
您可能希望使用ToUpperInvariant
代替ToLower
。我认为大写的边缘情况较少,并且使用不变的文化可以使您免于更多边缘情况。 (我对此知之甚少,所以请查阅而不是相信我。)