繁体   English   中英

如何在C#LINQ查询中使用Distinct运算符

[英]How can I use Distinct operator in C# LINQ query

我想使用c#中的以下代码选择唯一的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);
    }

我想选择唯一或不同的EventYear

不只是:

var eventyears = storeDB.EventMasters
                        .Select(c => c.EventYear)
                        .Distinct()
                        .ToList();

这样尝试

var eventyears = from Data in storeDB.EventMasters
                         where (this == that) // Write your Logic
                         select Data;

        if (eventyears != null)
        {
            /// do your code,,.,,,
        }

尝试跟随

var eventyears = storeDB.EventMasters
                     .GroupBy(c=>c.EventYear)
                     .Select(items=>items.First())
                     .SelectMany(item->item)
                       .ToList()
                       .OrderByDescending(c => c.EventYear == c.EventYear.Distinct());

它将采用不同的项目(基于EventYear)。 (即使EventYear相同的项目在某些其他属性上具有不同的值,也可能将其归类为相同的项目)

尝试这个

var eventyears = storeDB.EventMasters.ToList()
                       .OrderByDescending(c => c.EventYear == c.EventYear).Distinct();

您可以尝试此代码。

var eventyears = storeDB.EventMasters.Distinct(q => q.EventYear.).ToList().OrderByDescending(c => c.EventYear);

return PartialView(eventyears);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM