私のNHibernateマッピングには、<database-object>
MS SQL Server 2008のインデックスを定義する要素が含まれています。問題は、を呼び出したときにこのSQLがスキーマに含まれないことSchemaExport.Create
です。他のすべてが作成されますが、インデックスはありません。
エンティティの1つは次のようになります。次に例を示します。
<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で何かが変更されてこれが実行できなくなったかどうかはわかりません。
方言は、設定ファイルの私の方言と一致します。