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 方法指定每个附加连接类型。例如,要在小猫上使用左外连接:

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 回答