0

コードによる NHibernate 3.2 マッピングでは、次のように特定のフィールドにインデックスを付けることができます。

mapper.Class<Customer>(map =>
{
    map.Property(x => x.Address, m => m.Index("AddressIndex"));
});

次のフィールドをカバーするインデックスを作成したいと思います。

  • 住所
  • ファーストネーム
  • 苗字

「マップ」オブジェクトに Index メソッドが表示されません。また、追加の列を指定できるプロパティ固有の Index メソッドにオーバーロードも表示されません。どうすればこれを達成できますか?

編集、次のことを行うとわかりました:

mapper.Class<Customer>(map =>
{
    map.Property(x => x.Address, m => m.Index("AddressIndex"));
    map.Property(x => x.FirstName, m => m.Index("AddressIndex"));
    map.Property(x => x.LastName, m => m.Index("AddressIndex"));
});

3 つの列すべてをカバーするインデックスが作成されますが、指定した順序ではありません。インデックスで列の順序を指定する方法はありますか?

4

1 に答える 1

0

順序が重要な場合は、スキーマが生成された後にスクリプトを作成して実行することが 1 つのオプションです。

複合インデックスについてこれを読んだことを覚えていますが、順序は重要な場合とそうでない場合があるようです!

于 2012-04-23T09:57:21.637 に答える