【发布时间】:2012-10-23 10:37:34
【问题描述】:
我的 NHibernate 映射包含一个 <database-object> 元素来定义 MS SQL Server 2008 的索引。问题是当我调用 SchemaExport.Create 时,此 SQL 没有包含在架构中。其他所有内容都已创建,但没有索引。
其中一个实体如下所示,例如:
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class xmlns="urn:nhibernate-mapping-2.2"
name="MyApp.Entities.SomeEntity, MyApp.Entities" table="SomeEntity">
<!- -->
</class>
<database-object>
<create>
CREATE INDEX [Idx_SomeEntityIndex] ON [SomeEntity]
([Field1] ASC, [Field2] ASC) INCLUDE ( [Field3], [Field4], [Field5])
CREATE STATISTICS [Stat_SomeEntityStat] ON [SomeEntity]
([Field1], [Field2])
</create>
<drop>
DROP INDEX [Idx_SomeEntityIndex] ON [SomeEntity]
DROP STATISTICS [Stat_SomeEntityStat]
</drop>
<dialect-scope name="NHibernate.Dialect.MsSql2008Dialect, NHibernate"/>
</database-object>
</hibernate-mapping>
问题是这曾经可以工作(可能在从 NH2 移动到 NH3 之前),我不确定 NHibernate 中是否发生了一些变化,这会阻止它执行。
方言在配置文件中匹配我的方言。
【问题讨论】:
标签: .net nhibernate schemaexport