簡體   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