我的实体有一个允许为空的属性。但是,如果它不为空,那么它必须是唯一的。换句话说,该列是唯一的,但允许多个空值。
我试过了:
config.Property(p => p.ProductId).IsRequired(false);
我记得努力让它在 pre-Core EF 中工作。
这可能吗?如何配置实体?
最佳答案
是的,您可以使用 EF Core 做到这一点,因为默认情况下唯一索引是作为过滤索引创建的(WHERE ... IS NOT NULL)
config.Entity<Product>()
.HasIndex(b => b.ProductId)
.IsUnique();
https://github.com/aspnet/EntityFramework/pull/2868
关于c# - EF Core 是否允许唯一列包含多个空值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41439434/