我正在使用 Fluent NHibernate
并且我正在尝试创建一个包含忽略空值的唯一列的表。经过长时间的研究,我得出的结论是,唯一可能的方法是使用 WHERE 子句创建唯一索引,例如:
CREATE UNIQUE NONCLUSTERED INDEX IX_MyIndex on MyTable (MyColumn)
WHERE MyColumn IS NOT NULL
现在我在需要时手动运行这个脚本。有什么方法可以在 Fluent
中映射该列以便自动检查吗?
我正在使用 SQL Server 2012。
最佳答案
您可以在映射类
中提及唯一列:检查以下示例
public class AccountsMap : ClassMap<Accounts>
{
public AccountsMap()
{
Id(x => x.Id).GeneratedBy.Increment();
Map(x => x.Username).Unique().Nullable(); //Here the username column is unique
Map(x => x.Password);
}
}
关于c# - NHibernate - 带有 WHERE 子句的唯一索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20743078/