我的应用程序在下面显示此错误:

不支持将数据直接绑定到商店查询(DbSet,DbQuery,DbSqlQuery)

由于我试图将我的下拉控件绑定到此LINQ语句,因此这一事实。
检查下面的代码;

 using (AdventureWorksEntities dw = new AdventureWorksEntities())
        {
            ddlCon.DataSource = (from em in dw.Employees
                       select new { em.Title, em.EmployeeID }).Distinct().OrderBy(name => name);
            ;


            ddlCon.DataTextField = "Title";
            ddlCon.DataValueField = "EmployeeID";
            ddlCon.DataBind();
        }


注意:请在您的答案中很好地说明为什么会出现此错误及其解决方案。

最佳答案

就像在your other question中一样,您需要使用ToList(),因为您不能直接绑定到查询结果。

话虽如此,我也怀疑您的OrderBy是不正确的。这可能应该是:

 ddlCon.DataSource = (from em in dw.Employees
                      select new { em.Title, em.EmployeeID })
                    .Distinct()
                    .OrderBy(emp => emp.Title)  // Pick Title or EmployeeID here
                    .ToList();

关于c# - 不能绑定(bind)到下拉控件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12939228/

10-13 06:27