私はClassMappingでNHibernateを使用します。私はこのような特性の一つ、上のインデックスを作成しました:NHibernate ClassMappingは自動的にユニークなキーを作成します
public class ShopMapping : ClassMapping<Shop>
{
public ShopMapping()
{
Table("Shops");
Id(p => p.Id, m => m.Generator(NHibernate.Mapping.ByCode.Generators.GuidComb));
Property(p => p.CountryCode, m =>
{
m.Length(10);
m.NotNullable(true);
m.Index("ShopCountryCodeIdx");
m.Unique(false);
});
}
}
これはShopCountryCodeIdxと呼ばれるインデックスを生成しますが、私はまた、同じ列に「国番号」と呼ばれる一意のインデックスを、得ました。私はm.Unique(偽)なしでそれを試しましたが、効果はありません。 私はちょうど新しいPCに移動しました。古いPC:32ビットと新しいPCのVS2012:64ビットのVS2015。 NHiberateのバージョンは両方とも同じです(3.4.1.4)。データベースはMySQL 5.7です(古いマシンではMySQL 5.5を使用しました)。 これはどのように可能ですか?
私はコードを(データベースオブジェクトをドロップして)再実行し、m.Unique(false)を使用してテーブルを再作成しますが、これは余分なインデックス 'CountryCode'これらのオブジェクト関連のテーブルには、「CountryCode」のインデックスが追加されています。 –
編集:いくつかのキャッシュ問題が発生します.CourternCodeインデックスはまだ 'ユニーク'です... :( –