2013-10-29 47 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一定会起作用。