I have a query
var QP = (from a in QProductAllInfo select new { a.Id, a.Title, a.FullTitle}).Distinct();
Result is:
and i need result:
Assuming that different Ids are always considered distinct you can try this.
I would probably write it in two querys. That way it is easy to debug and more readable. You can use MoreLinq
.
DistinctBy
Download
var temp = from a in QProductAllInfo select new { a.Id, a.Title, a.FullTitle}.ToList();
var result = temp.DistinctBy(i => i.Id);
You can also use
Var result = temp.GroupBy(x => x.Id).Select(y => y.First());
If you have duplicates in QProductAllInfo, replacing your code by this should fix your problem.
var QP = from a in QProductAllInfo.Distinct()
select new { a.Id, a.Title, a.FullTitle };
if this doesn't work, you can use tuples instead of anonymous types like this:
var QP = from a in QProductAllInfo
select Tuple.Create(a.Id, a.Title, a.FullTitle);
Applying the Distinct operator on anonymous types is useless because anonymous types are always reference types that donc implement the IEquatable interface.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With