Fluent NHibernate:允许多个 NULL 值的唯一列

Fluent NHibernate: unique column that allows multiple NULL values

我在 table 中有一列需要在存在值时是唯一的,但应该允许多个 NULL 值。在 SQL 中,我可以使用 this 答案来做到这一点,但是有没有办法使用 Fluent NHibernate 来配置它?

            Map(x => x.UniqueProperty).Unique().Nullable();

...不起作用,并创建一个不允许多个 NULL 值的未过滤的唯一约束。

你不能在 NHibernate 中这样做,也就是说,NHibernate 不会让你创建这种约束。是的,例如,在 SQL 服务器中,如果您创建一个不适用于 NULLS 的唯一索引:

CREATE UNIQUE INDEX idx_UniqueProperty_notnull
ON dbo.T1(UniqueProperty)
WHERE UniquePropertyIS NOT NULL;