を使用して戦略パターンは、基本的にこの質問のタイトルは私がやろうとしていますが、不自然な例を作成するために、何のエッセンスを説明私は従業員を呼び出し、クラスを持っている...流暢NHibernateは
の地図。 - >社員(主キー)
- テーブルを検索する> PaymentBehaviourId(外部キー
dbo.Employees
:従業員はIPaymentBehaviourを持っている...
public class Employee
{
IPaymentBehaviour _paymentBehaviour;
protected internal Employee() { /* required by NH */}
public Employee(IPaymentBehaviour paymentBehaviour)
{
_paymentBehaviour = paymentBehaviour;
}
}
これはそうのようなデータベーステーブルに対応します)
- >フィールド1
- >フィールド2
- >フィールド3
- >フィールド4
PaymentBehaviourIdの値に応じて、私はEmployeeオブジェクトにIPaymentBehaviourの別の実装を '注入'する必要があります。どのPaymentBehaviourが使用されているかによって、その動作を作成するためにField1,2,3または4が必要になることがあります。
Fluent-NHibernateを使用してこれがどのようにマッピングされるか教えていただけますか?
「この動作を作成するにはField1,2,3または4が必要な場合があります」とはどういう意味ですか? 「作成する」とはどういう意味ですか?データベースの設計を変更することは可能ですか? –
私はそれらがテーブル内の名前であり、どの動作が必要なのかに応じて、それらのフィールドを使用してその動作のインスタンスを作成することを意味します。 dbデザインを変更することは可能ですが、可能な限り多くの組み合わせが可能なので、できるだけジェネリックにする必要があります。 – KevinT