0

このNHibernateクエリを左結合クエリオーバーに変換するのに問題があります

var query = session.Query<T>.Join(
    Session.Query<RecordOrder>(),
    q=>q.MiniDbName,
    o=>o.DatabaseName,
    (q,o)=>new{Record = q, Order = o.OrderValue})

誰でも私を助けることができます、私はこのクエリが左結合をサポートすることを望みます。

4

1 に答える 1

2

デフォルトの結合は内部結合です。追加の各結合タイプは、メソッド .Inner、.Left、.Right、または .Full を使用して指定できます。たとえば、Kittens で左外部結合を使用するには、次のようにします。

IQueryOver<Cat,Kitten> catQuery =
session.QueryOver<Cat>()
    .Left.JoinQueryOver(c => c.Kittens)
        .Where(k => k.Name == "Tiddles");

あなたの場合:

    var list =
    session.QueryOver<RecordOrder>()
    .Left.JoinQueryOver(c => c.Orders).ToList()
于 2013-02-01T11:21:03.820 に答える