Linq到NHibernate:与众不同

cbp*_*cbp 6 .net sql linq-to-nhibernate

我试图使用Linq-to-NHibernate获取以下SQL输出:

SELECT DISTINCT Name, at.Year FROM MyTable mt
INNER JOIN AnotherTable at ON at.Id = mt.AnotherTableId
Run Code Online (Sandbox Code Playgroud)

Name和Year属性将包含在一个新类中,因此C#代码将如下所示:

Session.Linq()
   .Select(x => new FooBar { Name = x.Name, Year = x.AnotherTable.Year }))
   .ToList();
Run Code Online (Sandbox Code Playgroud)

如何让DISTINCT关键字出现在sql查询中?

Gra*_*ton 1

你不能尝试吗:

Session.Linq()
   .Select(x => new FooBar { Name = x.Name, Year = x.Year }))
   .Distinct()
   .ToList();
Run Code Online (Sandbox Code Playgroud)

Select返回一个IEnumerable,所以默认情况下它应该Distinct,无论你的智能感知是否检测到它。