我在表中有一个列,当存在值时需要是唯一的,但是应该允许多个NULL值。在SQL中,我可以使用this回答来做到这一点,但有没有办法使用Fluent NHibernate配置它?
Map(x => x.UniqueProperty).Unique().Nullable();
...不起作用,并创建一个不允许多个NULL值的未过滤的唯一约束。
答案 0 :(得分:1)
你不能在NHibernate中这样做,也就是说,NHibernate不会让你创建这种约束。是的,例如,如果您创建一个不适用于NULLS的唯一索引,则可以在SQL Server中使用:
CREATE UNIQUE INDEX idx_UniqueProperty_notnull
ON dbo.T1(UniqueProperty)
WHERE UniquePropertyIS NOT NULL;