如何使用Fluent NHibernate和SchemaUpdate.Execute()索引外键?

时间:2009-11-23 23:51:34

标签: c# sql-server nhibernate fluent-nhibernate

在Fluent NHibernate中是否有办法指定应该为外键编制索引?

MS Sql Server的默认配置不会为外键编制索引。我希望NHibernate模式生成/更新工具生成的模式能够为这些密钥编制索引。当我只使用HasManyHasManyToMany方法时,不会创建此类索引。这是否可以使用原始XML映射?

1 个答案:

答案 0 :(得分:6)

我认为列映射元素的'index'属性就是你所追求的。如果您使用的是最新版本的FNH,可以将其设置为一对多,如下所示:

HasMany(x => x.Components)
       .KeyColumns.Add("ProductId", c => c.Index("someIndex");

同样的API尚不适用于多对多,但它正在发展中。