多くのフィールドとメソッドがあり、ComponentオブジェクトもあるEntityクラスがあるとします。コンポーネントデータは、任意の理由で別のクラスにカプセル化されています。
public class Entity
{
//...other stuff
public virtual Component Component { get; protected set; }
//...other stuff
}
コンポーネントには多くの責任がありますが、すべてプライベートフィールドである3つのフィールドのみがあるとします。任意の理由でフィールドを非公開にしました。
public class Component
{
//...other stuff
private string fieldName1 { get; set; }
private string fieldName2 { get; set; }
private string fieldName3 { get; set; }
//...other stuff
}
ここで、エンティティがデータベース内のテーブルに対応しているとしましょう。そのテーブルには、コンポーネントの各フィールドの列が必要です。それぞれ「columnName1」、「columnName2」、「columnName3」と呼びます。
問題は 、Fluent NHibernateを使用して、エンティティ(データベース内のテーブルに対応する)に属するコンポーネントオブジェクトからプライベートフィールドデータを永続化するにはどうすればよいかということです。