我有以下类别表,我首先使用实体框架模型:
ID => int , primary key , unique
CategoryName => varchar(50)
ParentCategoryID => int
我通过执行以下查询为两列 categoryName 和 ParentCategoryID 应用了唯一约束:
ALTER TABLE Category
ADD CONSTRAINT UQ_YourTable_ConstraintName UNIQUE(CategoryName, ParentCategoryID)
在这里,我想要的是,如果 categoryName 和 ParentCategoryID 的组合形式使用数据注释是唯一的,则验证输入。因此,我为类别创建了部分类:
[MetadataType(typeof(TestEntityValidation))]
public partial class Category{
}
public class TestEntityValidation{
//............ data annotation
public string CategoryName{ get; set; }
//............ data annotation
public string ParentCategoryID { get; set; }
}
什么可以是数据注释的代码,以便 CategoryName 和 ParentCategoryID 的组合始终是唯一的,并且如果用户输入重复数据则显示错误。