小编Chr*_*ale的帖子

如何使用Linq到NHibernate获取不同的值?

我一直试图使用Linq到NHibernate获得不同的值,而且我失败了.

我试过了:

var query = from requesters in _session.Linq<Requesters>()
        orderby requesters.Requestor ascending
        select requesters;

return query.Distinct();
Run Code Online (Sandbox Code Playgroud)

以及

var query = from requesters in _session.Linq<Requesters>()
        orderby requesters.Requestor ascending
        select requesters;

return query.Distinct(new RequestorComparer());
Run Code Online (Sandbox Code Playgroud)

RequestorComparer的位置

public class RequestorComparer : IEqualityComparer<Requesters>
{

    #region IEqualityComparer<Requesters> Members
    bool IEqualityComparer<Requesters>.Equals(Requesters x, Requesters y)
    {
        //return x.RequestorId.Value.Equals(y.RequestorId.Value);
        return ((x.RequestorId == y.RequestorId) && (x.Requestor == y.Requestor));
    }

    int IEqualityComparer<Requesters>.GetHashCode(Requesters obj)
    {
        return obj.RequestorId.Value.GetHashCode();
    }
    #endregion
}
Run Code Online (Sandbox Code Playgroud)

无论我如何构造语法,它似乎永远不会出现.Distinct()..Distinct()默认情况下,在我查询的表中没有多个重复项,按照195条记录的顺序排列,但应该只返回22个不同的值.

我不确定我做错了什么,但非常感谢可以提供的任何帮助.

谢谢

nhibernate distinct linq-to-nhibernate

6
推荐指数
1
解决办法
3708
查看次数

标签 统计

distinct ×1

linq-to-nhibernate ×1

nhibernate ×1