【发布时间】:2011-08-17 15:54:36
【问题描述】:
我需要绑定GridView,我正在使用这个代码:
ProductDBEntities db = new ProductPDBEntities();
var pro = from u in db.Products where u.PID == 1 select u;
if (pro != null)
{
GridView1.DataSource = pro;
GridView1.DataBind();
}
并收到此错误。
System.InvalidOperationException: 序列包含多个 元素
谁能告诉我我做错了什么?
【问题讨论】:
-
我认为您需要将其转换为 ToList() 才能用作网格视图的数据源
-
我尝试了 ToList 函数,它给了我这个错误.. 数据源是无效类型。它必须是 IListSource、IEnumerable 或 IDataSource ELAPDBEntities db = new ELAPDBEntities(); var assetsFinan = from db.AssetFinancings 中的 u.AppID == AppID 选择 u; if (assetFinan != null) { gvAssetFinance.DataSource =assetFinan.ToList(); gvAssetFinance.DataBind(); }
-
当您将 ToList 分配给 pro 时,您需要获取它
-
你能给我一个例子吗..拜托
-
你不需要
ToList()。您可以将IEnumerable绑定到 GridView。而您代码中的pro是IQueryable,是 是IEnumerable。在您上面显示的代码的上下文中,该异常没有任何意义。调试时在哪一行得到这个异常?
标签: c# asp.net linq c#-4.0 entity-framework-4