I am trying to get different values using Linq for NHibernate, and I fail.
I tried:
var query = from requesters in _session.Linq<Requesters>() orderby requesters.Requestor ascending select requesters; return query.Distinct();
Like
var query = from requesters in _session.Linq<Requesters>() orderby requesters.Requestor ascending select requesters; return query.Distinct(new RequestorComparer());
Where is 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 }
No matter how I structure the syntax, it never ends up in .Distinct() . Without .Distinct() by default in the table, I request several duplicates in the order of 195 shared records, but there should only be 22 different values.
I'm not sure what I'm doing wrong, but I would really appreciate any help that could be provided.
thanks
distinct nhibernate linq-to-nhibernate
Chris martindale
source share