次の問題が NHibernate で別の方法で解決できるかどうか知りたいです。
このドメインがあるとしましょう:
public class A
{
public virtual B LastAssociationWithB { get; set; }
public virtual ICollection<B> CollectionAssociationOfB { get; set; }
}
public class B
{
public virtual DateTime DateAdded { get; set; }
}
プロパティは、コレクション プロパティに関連付けられた永続オブジェクトのLastAssociationWithB
1 つを表します。B
CollectionAssociationOfB
実際には、日付によって追加されLastAssociationWithB
た最後のB
永続オブジェクトを表します。
したがって、ドメインでは、 に新しいB
が追加されるとCollectionAssociationOfB
、 にも割り当てられLastAssociationWithB
ます。
これは、後でコードを単純な LINQ クエリに変換するための良い方法です。
とにかく、私の質問は次のとおりです。これに対する他のアプローチを知っていますか? たとえば、内部で SQL結合を生成するある種の多対 1 の関連付けで、テーブルに明示的な 1:n 関係を持たせる必要はありませんが、クラス プロパティは維持されますか?A
または、私の現在のアプローチは、このシナリオを解決するための推奨される方法ですか?
補足: 実際のシナリオでCollectionAssociationOfB
は、NHibernate マッピング構成で順序付けが指定されているため、順序付けられたリストです。