2013-10-29 87 views
0

I want to assign Linq Query result to dropdownlist which contain a Distinct functionLINQ查詢獨特的功能不DROPDOWNLIST

我的代碼工作: -

var area = de.City_Area_View 
         .Select(m => new { m.Area_Id, m.Area_Name}) 
         .Distinct() 
         .ToList(); 

      drpfilter.DataTextField = "Area_Name"; 
      drpfilter.DataValueField = "Area_Id"; 
      drpfilter.DataSource = area; 
      drpfilter.DataBind(); 

問題: - 當我寫這篇文章的代碼然後我得到以下錯誤

Error:- The method 'Distinct' is not supported.

我得到System.NotSupportedException

我想給DropDownList分配一個不同名稱的區域 所以請幫我解決這個問題。

+0

什麼是您的基礎數據源? –

回答

2

如果您設置的足夠小(所以你不介意取所有從數據庫中的值),最簡單的事情是將迫使不同部分在本地執行:

var area = de.City_Area_View 
      .Select(m => new { m.Area_Id, m.Area_Name}) 
      .AsEnumerable() 
      .Distinct() 
      .ToList(); 

AsEnumerable只是將表達式類型改爲IEnumerable<T>而不是IQueryable<T>,以便編譯器調用Enumerable.Distinct而不是Queryable.Distinct-和Enumerable.Distict一定會起作用。