nhibernate中的创建条件问题

nhibernate中的创建条件问题,nhibernate,Nhibernate,我有一个完整的名字 public class ClaimDetail { public virtual int Id { get; set; } public virtual Claim Claim {get;set;} public virtual string ServiceDateFrom { get; set; } public virtual string DateCreated { get; set; } public virtual Cla

我有一个完整的名字

public class ClaimDetail
{
   public virtual int Id { get; set; }
   public virtual Claim Claim {get;set;}
   public virtual string ServiceDateFrom { get; set; }      
   public virtual string DateCreated { get; set; }
   public virtual ClaimDetail ParentClaimDetail { get; set; }
}
我想在这个表上应用左外连接

SELECT cd.ClaimDetailId ,
cd.ParentClaimDetail_id  ,
cds.ClaimDetailId  ,
cds.ParentClaimDetail_id  ,
cds.DateCreated,
cd.DateCreated
 FROM ClaimDetail AS cd left JOIN ClaimDetail AS cds ON 
cd.ClaimDetailId = cds.ParentClaimDetail_id
我在nhibernate中实现这个查询,作为

ICriteria query = session.CreateCriteria(typeof(ClaimDetail), "cd") 
    .CreateAlias("ParentClaimDetail", "cds", NHibernate.SqlCommand.JoinType.LeftOuterJoin);
query.SetProjection
              (
                     Projections.ProjectionList()
                       .Add(Projections.Property("cd.ParentClaimDetail.Id"), "sks")
                       .Add(Projections.Property("cd.Id"),"cdid")
                       .Add(Projections.Property("cds.DateCreated"), "dc1")
                       .Add(Projections.Property("cd.DateCreated"), "dc2")
                       .Add(Projections.Property("cds.ParentClaimDetail.Id"), "cds")
                       .Add(Projections.Property("cds.Id"),"cdsid")
              );
但这会创建条件,并将查询创建为

SELECT cd.ClaimDetailId ,
cd.ParentClaimDetail_id  ,
cds.ClaimDetailId  ,
cds.ParentClaimDetail_id  ,
cds.DateCreated,
cd.DateCreated
 FROM ClaimDetail AS cd left JOIN ClaimDetail AS cds ON 
cd.ParentClaimDetail_id = cds.ClaimDetailId
有人能帮我吗


提前感谢

您似乎希望使用命名查询。命名查询进入映射XML,您可以向其中输入。此外,还可以选择自定义类来表示生成数据的实体