次のマップされたクラスがあるとします。
public class Item
{
public virtual int Id { get; set; }
public virtual IEnumerable<History> Histories { get; set; }
}
public class History
{
public virtual int Id { get; set; }
public virtual Item Item { get; set; }
public virtual DateTime Date { get; set; }
public virtual HistoryType HistoryType { get; set; }
}
public enum HistoryType
{
A = 1,
B = 2
}
ここで、履歴が HistoryType = A である最新の履歴日付で並べ替えられたすべてのアイテムを取得できるようにしたいと考えています。すべてのアイテムに履歴があるわけではないため、左結合が必要だと思います。
私が必要としているのは Fluent NHibernate のクエリですが、これに対する正しい SQL クエリを確認することもできれば幸いです。