Есть ли способ указать ограничение уникальности для нескольких столбцов, используя Entity Framework?
Это ограничение, которое я хочу
CREATE UNIQUE NONCLUSTERED INDEX myconstraint
ON myTable(col1,col2)
WHERE col2 IS NOT NULL;
Приведенный ниже код дает мне большую часть Entity Framework Fluent API, но терпит неудачу, потому что он не допускает нулевые значения (ie, два нулевых значения в col2
будут считаться нарушением ограничения, тогда как я хочу, чтобы это разрешало множественные нулевые значения).
modelBuilder.Entity<myTable>().Property(x => x.col1)
.HasColumnAnnotation(IndexAnnotation.AnnotationName,
new IndexAnnotation(new IndexAttribute("myconstraint", 0) { IsUnique = true }));
modelBuilder.Entity<myTable>().Property(x => x.col2)
.HasColumnAnnotation(IndexAnnotation.AnnotationName,
new IndexAnnotation(new IndexAttribute("myconstraint", 1) { IsUnique = true }));