我的重复检查应该放在Azure Table Storage模型的哪个位置?

时间:2011-12-16 11:19:31

标签: asp.net-mvc asp.net-mvc-3 azure

我有一个Azure表数据存储区,这是我的一个类的模型:

 public class Product : TableServiceEntity
    {
        [Required(ErrorMessage="Title required")]
        [DisplayName("Title")]
        public string Title { get; set; }
    }

还有更多内容,但最重要的是PartitionKey,RowKey(隐藏在这里)和Title。

我想要做的是确保没有保存与另一个具有相同标题的记录。我目前使用服务层来处理与模型有关的所有事情。

我的检查是否已经没有相同标题的记录是该服务层的一部分,还是应该以某种方式出现在模型本身中?

2 个答案:

答案 0 :(得分:1)

Azure存储只能基于分区键和行键强制实施唯一性。任何其他独特性都需要由您自己的逻辑强制执行。

答案 1 :(得分:1)

您无法在模型中进行检查。您应该在服务层中执行此操作,并在保存的实体重复标题时引发相应的异常。

Az Igorek提到,Azure表存储中唯一的唯一约束是分区键+行键