我有两个C#类,说Container
和Item
,和一个单向关联:NHibernate列表键列上的SQL索引?
class Container {
[...]
public IList<Item> Items {get;set;}
}
NHibernate的映射如下所示:
<class name="Container">
[...]
<list name="Items" cascade="all-delete-orphan">
<key column="ContainerId"/>
<index column="Position"/>
<one-to-many class="Item"/>
</list>
</class>
结果,NHibernate的(2.0.1)生成Item
表中的ContainerId
列。由于我通常从Container
侧导航此连接,因此我想在ContainerId
列上放置SQL索引。 NHibernate似乎没有为此提供映射语法,或者至少它对我来说并不明显。加速这一点的最佳方式是什么?
我想避免必须在多处传播,所以我宁愿只更改映射文档。有没有办法在NHibernate语法中做到这一点?我应该嵌入自定义SQL命令吗?如果是这样,怎么样?