1

我想要使​​用连接的两个不同表中的两列。我得到重复的值。我试过.SetResultTransformer(Transformers.DistinctRootEntity.SetResultTransformer(new DistinctRootEntityResultTransformer())但没有任何帮助。在探查器中,我收到如下查询:

SELECT job1_.DeptName as y0_, this_.refDeptId as y1_ FROM [Emp] this_ inner join [Dept] job1_ on this_.refDeptId=job1_.DeptId

我想查询不同的值。比如:SELECT distinct job1_.DeptName as y0_, this_.refDeptId as y1_ FROM [Emp] this_ inner join [Dept] job1_ on this_.refDeptId=job1_.DeptId 我在 nhibernate 中的查询是:

IList  ListOfElements=  (session
  .CreateCriteria(typeof(EmpModel))
   .CreateCriteria("objEmpDeptId1", "job",NHibernate.SqlCommand.JoinType.InnerJoin)
  .SetProjection( a_ProjectionList).List());

请帮我...

4

1 回答 1

1

您的 a_list 是否类似于以下内容(如果您想转换为 DTO,请使用别名)?

Projections.Distinct(Projections.ProjectionList()
    .Add(Projections.Property("DeptName ").As("BeanDeptName"))
    .Add(Projections.Property("refDeptId ").As("BeanDeptId"))
于 2013-03-12T09:54:29.187 回答