C# 加入nhibernate

C# 加入nhibernate,c#,nhibernate,join,queryover,C#,Nhibernate,Join,Queryover,我正在使用blow代码来加入nhibernate,这很好。但是我不想在加入前对两个查询都使用.List,我想在加入后使用.List。我不太了解尼伯内特。。请为我提供帮助,我应该在下面的函数中进行哪些更改,以首先加入数据,然后在其上应用.List public IEnumerable<PGrp> GetSol() { _pGrpR = null; _pGrp = null; QueryOver<Phy, Phy>

我正在使用blow代码来加入nhibernate,这很好。但是我不想在加入前对两个查询都使用
.List
,我想在加入后使用
.List
。我不太了解尼伯内特。。请为我提供帮助,我应该在下面的函数中进行哪些更改,以首先加入数据,然后在其上应用
.List

 public IEnumerable<PGrp> GetSol()
    {
        _pGrpR = null;
        _pGrp = null;

        QueryOver<Phy, Phy> activePhyQuery = GetDataQuery();

        var phyGrpR = _session.QueryOver(() => _pGrpR)
        .Where(
            Subqueries.WhereProperty<PGrpR>(p => _pGrpR.PhyId).In(
                activePhyQuery))
        .List<PGrpR>();

        IList<PGrp> pGrps = _session.QueryOver(() => _pGrp)
            .Where(x => !x.AC)
            .List<PGrp>();

        var newPGrps = pGrps
            .Join(
                pGrpR,
                p => p.Id,
                x => x.PGrpId,
                (p, x) => p
            ).Distinct().OrderBy(x => x.Name);

        return newPGrps;
    }
public IEnumerable GetSol()
{
_pGrpR=null;
_pGrp=null;
QueryOver activePhyQuery=GetDataQuery();
var phyGrpR=\u session.QueryOver(()=>\u pGrpR)
.在哪里(
子查询.WhereProperty(p=>\u pGrpR.PhyId).In(
activePhyQuery)
.List();
IList pGrps=\u session.QueryOver(()=>\u pGrp)
.其中(x=>!x.AC)
.List();
var newPGrps=pGrps
.加入(
pGrpR,
p=>p.Id,
x=>x.PGrpId,
(p,x)=>p
).Distinct().OrderBy(x=>x.Name);
返回新的PGRP;
}
谢谢

PGrpR PGrpR=null;
IList pGrps=\u session.QueryOver(()=>\u pGrp)
.其中(x=>!x.AC)
.JoinAlias(pgrps=>pgrps.pGrpR,()=>pGrpR)//设置不动产名称
.OrderBy(()=>pGrpR.Name).Asc
.Select(projects.Distinct(projects.Property(()=>pGrpR.“propertyfordinct”))
.变压器使用(变压器.距离)
.List();
 PGrpR pGrpR = null;
 IList<PGrp> pGrps = _session.QueryOver(() => _pGrp)
            .Where(x => !x.AC)
            .JoinAlias(pgrps => pgrps.pGrpR, () => pGrpR) // Set real property name
            .OrderBy(() => pGrpR.Name).Asc
            .Select(Projections.Distinct(Projections.Property(() => pGrpR."PropertyForDistinct")))
            .TransformUsing(Transformers.DistinctRootEntity)
            .List<PGrp>();