我有一个Azure表数据存储区,这是我的一个类的模型:
public class Product : TableServiceEntity
{
[Required(ErrorMessage="Title required")]
[DisplayName("Title")]
public string Title { get; set; }
}
还有更多内容,但最重要的是PartitionKey,RowKey(隐藏在这里)和Title。
我想要做的是确保没有保存与另一个具有相同标题的记录。我目前使用服务层来处理与模型有关的所有事情。
我的检查是否已经没有相同标题的记录是该服务层的一部分,还是应该以某种方式出现在模型本身中?
答案 0 :(得分:1)
Azure存储只能基于分区键和行键强制实施唯一性。任何其他独特性都需要由您自己的逻辑强制执行。
答案 1 :(得分:1)
您无法在模型中进行检查。您应该在服务层中执行此操作,并在保存的实体重复标题时引发相应的异常。
Az Igorek提到,Azure表存储中唯一的唯一约束是分区键+行键。