EF Core是否允許唯一列包含多個空值?

c# ef-code-first entity-framework entity-framework-core

我的實體有一個允許為null的屬性。但是,如果它不為null,那麼它必須是唯一的。換句話說,該列是唯一的,但允許多個空值。

我試過了:

config.Property(p => p.ProductId).IsRequired(false);

我記得在前核心EF中努力工作。

這可能嗎?如何配置實體?

一般承認的答案

是的,您可以使用EF Core執行此操作,因為默認情況下,唯一索引創建為篩選索引(WHERE ... IS NOT NULL)

config.Entity<Product>()
        .HasIndex(b => b.ProductId)
        .IsUnique();

https://github.com/aspnet/EntityFramework/pull/2868



Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因