不支持直接绑定到商店查询(DbSet,DbQuery,DbSqlQuery)的数据
我在visual studio 2012上编码并使用实体模型作为我的数据层。 但是,使用Linq语句的下拉控件往往会在页面尝试加载时抛出未处理的exception(上面标题)。 这是我的代码如下;
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--")); }
- 我想知道为什么会发生错误
- 使用LINQ时绑定到控件的正确方法是什么?
错误相当明确 – 您无法直接绑定到查询结果,但需要填充一些本地集合。
最简单的方法是通过ToList()
将其转换为List
:
ddlCon.DataSource = (from em in dw.Employees select new { em.Title, em.EmployeeID }).ToList();
或者如果你想避免编写LINQ表达式,你可以这样做:
上述就是C#学习教程:不支持直接绑定到商店查询(DbSet,DbQuery,DbSqlQuery)的数据分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
var dbContext = new EF.CustomerEntities(); gvCustomers.DataSource = dbContext.CustomersTable.ToList();
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1026482.html