1

この質問は最初は少し奇妙に思えるかもしれませんが、この方法で動作しているレガシー プロジェクトがあり、Fluent Nhibernate を使用してその hbm ドキュメントを生成する方法があるかどうか知りたいです。抽象クラスではない親クラスがあります。次のようなものです。

    [Entity("EmployeeTable")]
    public class Employee
    {
       //Memebers of Employee
    }

これらのサブクラスの目的は単にコードの再利用性のためであり、ご覧のとおり、これらはいくつかの情報を表すいくつかのビュー (概要) です。

[Entity("EmployeeType1View")]
public class EmployeeType1:Employee
{
//Memebers of EmployeeType1
}

[Entity("EmployeeType2View")]
public class EmployeeType2:Employee
{
//Memebers of EmployeeType2
}

ここに問題があります:流暢な nhibernate に、この継承階層を考慮しないように、または別の言葉で言えば、これらのクラスごとに個別の hbm ファイルを生成するように指示する方法はありますか?

4

1 に答える 1

1

残念ながら、FNH はサブクラス マップを個別に作成することはできません。ただし、ディスクに書き込んだ後でマッピングを変更することはできます。

var model = new FluentNHibernate.Automapping.AutoPersistenceModel();
// add assembly and the like to model
model.WriteMappingsTo(path);

forech(var baseclass in classesWithSubclasses)
{
    var doc = new XmlDocument();
    doc.Load(baseclass.getType().FullName + ".hbm.xml");
    // use xpath to separate the subclassmapping in its own file
}
于 2012-09-24T09:05:45.770 に答える