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

时间:2017-01-05 08:28:35

标签: sql nhibernate fluent-nhibernate unique unique-constraint

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

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

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

1 个答案:

答案 0 :(得分:1)

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

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