我使用Entityframework Code First和使用Fluent API的EntityTypeConfiguration。 如何使用多列创建唯一约束。 例如,我有一个下面的字段
的表我希望根据CompanyId将代码列设置为唯一
答案 0 :(得分:3)
在您的EntityTypeConfiguration中,您可以执行以下操作:
Property(m => m.CompanyId)
.HasColumnAnnotation("Index", new IndexAnnotation(new IndexAttribute("IX_YourUniqueIndexName", 1) { IsUnique = true }));
Property(m => m.Code)
.HasColumnAnnotation("Index", new IndexAnnotation(new IndexAttribute("IX_YourUniqueIndexName", 2) { IsUnique = true }));
这将在这两列上创建一个唯一索引。
确保为唯一索引使用相同的名称。两者都需要是名字" IX_YourUniqueIndex"。如果一个人被称为" IX_Index1"和另一个" IX_Index2"然后它会在每个上创建一个唯一的索引,这不是你想要的