如何使用流畅的NHibernate创建独特的非聚集索引

时间:2011-03-23 17:56:35

标签: sql-server nhibernate sql-server-2008 fluent-nhibernate

我想在两列上创建一个非聚集但唯一的索引。 我试过了:

Map(x => x.Col1).Index("IX").UniqueKey("IX");
Map(x => x.Col2).Index("IX").UniqueKey("IX");

并获得非唯一索引和其他唯一约束(切换顺序无效),

或:

Map(x => x.Col1).Index("IX").Unique();
Map(x => x.Col1).Index("IX").Unique();

并获得了非唯一索引和2个额外的唯一约束(切换顺序没有帮助)。

有没有办法只创建索引,但是唯一?

1 个答案:

答案 0 :(得分:2)

如果我遗漏.Index()而只是写

Map(x => x.Col1).UniqueKey("IX");
Map(x => x.Col2).UniqueKey("IX");

我在SQL 2008 Express(R2)中获得了一个唯一的非聚簇索引,没有任何其他约束。 (至少在我查看SQL Management Studio中的porperties时会显示。)