[英]How can I use Distinct operator in C# LINQ query
I would like to select unique EventYear using following code in c# Its giving duplicate values. 我想使用c#中的以下代码选择唯一的EventYear,它给出重复的值。 my table
(EventMasters)
structure is (EventYear (string), EventCode, EventDescription)
I want to select unique or distinct EventYear
我的表
(EventMasters)
结构是(EventYear (string), EventCode, EventDescription)
我想选择唯一或不同的EventYear
public ActionResult EventYearsMenu()
{
var eventyears = storeDB.EventMasters.Distinct().ToList().OrderByDescending(c => c.EventYear== c.EventYear.Distinct());
return PartialView(eventyears);
}
I want to select unique or distinct
EventYear
我想选择唯一或不同的
EventYear
Isn't it just: 不只是:
var eventyears = storeDB.EventMasters
.Select(c => c.EventYear)
.Distinct()
.ToList();
Try like this 这样尝试
var eventyears = from Data in storeDB.EventMasters
where (this == that) // Write your Logic
select Data;
if (eventyears != null)
{
/// do your code,,.,,,
}
Try following 尝试跟随
var eventyears = storeDB.EventMasters
.GroupBy(c=>c.EventYear)
.Select(items=>items.First())
.SelectMany(item->item)
.ToList()
.OrderByDescending(c => c.EventYear == c.EventYear.Distinct());
it will take distinct items (based on EventYear). 它将采用不同的项目(基于EventYear)。 (it is possible to have items with same EventYear classified as same, even though they have different values for some other properties)
(即使EventYear相同的项目在某些其他属性上具有不同的值,也可能将其归类为相同的项目)
Try this 尝试这个
var eventyears = storeDB.EventMasters.ToList()
.OrderByDescending(c => c.EventYear == c.EventYear).Distinct();
You can try this code. 您可以尝试此代码。
var eventyears = storeDB.EventMasters.Distinct(q => q.EventYear.).ToList().OrderByDescending(c => c.EventYear);
return PartialView(eventyears);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.