簡體   English   中英

使用LINQ中的不同值創建動態選擇列表

[英]create a dynamic selectlist with distinct values from LINQ

我需要在C#中使用Linq創建一個動態的SelectList是我的查詢

ViewBag.net = new SelectList(db.nw.Where(m => m.client_id == 
ClientId).OrderBy(m => m.nw_ename), "nw_ename", "nw_ename");

這工作正常並返回數據,但它有一些重復的值,所以我需要使用Distinct 雖然使用distinct我無法編寫LINQ語句。 以下是我試過的。

ViewBag.net = new SelectList((from m in db.np_nw_providers
                              where m.client_id == ClientId                                                                       
                              select m.nw_ename
                            ).Distinct()
                             .OrderBy(nw_enam => nw_enam), "m.nw_ename", "m.nw_ename");

在運行時,我收到一個錯誤

DataBinding:'System.String'不包含名為'm'的屬性。

我怎樣才能實現同樣的目標。

由於您只想要nw_enam屬性,因此可以使用

var items = db.nw.Where(m => m.client_id == ClientId)
                 .OrderBy(m => m.nw_enam)
                 .Select(i => i.nw_enam)
                 .Distinct();
ViewBag.net = new SelectList(items);

SelectList構造函數中刪除"m.nw_ename"參數

var query = (from m in db.np_nw_providers
             where m.client_id == ClientId                                                                       
             select m.nw_ename
            ).Distinct()
             .OrderBy(nw_enam => nw_enam);

ViewBag.net = new SelectList(query);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM