1

Fluent NHibernate 自動マッピングの最新バージョンを使用しています。すべてのテーブルで外部キー制約の作成を停止するために設定できる規則またはプロパティはありますか? 私は200近くのクラスを持っているので、個々のクラスとプロパティ名とセットに行くことはできません

 ForeignKeyConstraintNames("none", "none") 

Automapping に ForeignKeyConstraintNames("none", "none") を追加するにはどうすればよいですか? テーブル名または列名をハードコーディングしたくありません。AutoMapping で外部キーなしですべてのマッピングを作成したいと考えています。基本的に、データベース全体で外部キーを作成しません。どうすればこれを行うことができますか?同様のPOST HEREがありますが、答えは明確ではありませんでした。

4

1 に答える 1

1

簡単な慣習

public class NoForeignKeys : IReferenceConvention, IHasManyConvention
{
    public void Apply(IManyToOneInstance instance)
    {
        instance.ForeignKey("none");
    }

    public void Apply(IOneToManyCollectionInstance instance)
    {
        instance.Key.ForeignKey("none");
    }
}

// use it
AutoMap.AssemblyOf().Conventions
    .FromAssembly() or .Add(typeof(NoForeignKeys))
于 2013-05-31T10:07:19.200 に答える