Уникальный индекс с предложением where с использованием Entity Framework Fluent API - PullRequest
0 голосов
/ 13 января 2020

Есть ли способ указать ограничение уникальности для нескольких столбцов, используя 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 }));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...