gpt4 book ai didi

c# - 不支持直接绑定(bind)到存储查询(DbSet、DbQuery、DbSqlQuery)的数据

转载 作者:IT王子 更新时间:2023-10-29 04:46:05 25 4
gpt4 key购买 nike

我在 visual studio 2012 上编码并使用实体模型 作为我的数据层。但是,当页面尝试加载(上面的标题)时,我使用 Linq 语句的下拉控件往往会引发未处理的异常。下面是我的代码;

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

ddlCon.DataTextField = "Title";
ddlCon.DataValueField = "EmployeeID";
ddlCon.DataBind();
ddlCon.Items.Insert(0, new ListItem("--Select--", "--Select--"));
}
  1. 我想知道为什么会出现这个错误
  2. 使用 LINQ 时绑定(bind)到控件的正确方法应该是什么?

最佳答案

错误很明显 - 您不能直接绑定(bind)到查询结果,而是需要填充一些本地集合。

最简单的方法是将其转换为 List<T> , 通过 ToList() :

 ddlCon.DataSource = (from em in dw.Employees
select new { em.Title, em.EmployeeID }).ToList();

关于c# - 不支持直接绑定(bind)到存储查询(DbSet、DbQuery、DbSqlQuery)的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12938371/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com