ステファンは正しいです、コンポーネントを使用してください。コンパイラが自動的にタイプを把握するので、Component<Branch>
がちょうどComponent
に短縮することができ
class Branch
{
string Name { get; set; }
DateTime DateOpened { get; set; }
}
class Employee
{
int Id { get; set; }
string Name { get; set; }
Branch Branch { get; set; }
}
class EmployeeMap : ClassMap<Employee>
{
public EmployeeMap()
{
Id(x => x.Id);
Map(x => x.Name);
Component<Branch>(x => x.Branch, c => {
c.Map(x => x.Name);
c.Map(x => x.DateOpened);
});
}
}
:FluentNHibernateでは、それは次のようになります。接頭辞に追加する
public static class BranchMap
{
public Action<ComponentPart<Branch>> AsComponent()
{
return c =>
{
c.Map(x => x.Name);
c.Map(x => x.DateOpened);
};
}
}
また、これは、それが容易になります/:また、私がやりたいことは、私はコンポーネントをマッピングし、どこでも自分自身を繰り返す必要はありませんので、私のコンポーネントのクラスにAsComponent
機能を提供していますエンティティーが、異なる命名体系を持つコンポーネントのインスタンスを複数持つ可能性がある場合のサフィックス関数。
従業員と支店のビジネス関係は何ですか?従業員に支店はありますか? –
はい、従業員には支店が1つあります。 –