C# 使用实体框架过滤网格行
我对实体框架比较陌生。我已经学习了如何在EF中操作数据,以及使用C#在GridView和下拉菜单中绑定数据的基本知识。但我无法从数据库中的表中筛选记录(行)并将它们绑定到网格。以下是我尝试过的几种方法: 绑定完整表(此操作有效) 根据条件提取一行并将其绑定到GRIDVIEW(这失败得很惨) 第二种方法:C# 使用实体框架过滤网格行,c#,asp.net,entity-framework,C#,Asp.net,Entity Framework,我对实体框架比较陌生。我已经学习了如何在EF中操作数据,以及使用C#在GridView和下拉菜单中绑定数据的基本知识。但我无法从数据库中的表中筛选记录(行)并将它们绑定到网格。以下是我尝试过的几种方法: 绑定完整表(此操作有效) 根据条件提取一行并将其绑定到GRIDVIEW(这失败得很惨) 第二种方法: gv_testef.DataSource = db.contacts.SingleOrDefault(p => p.id == 2); 这又一次失败了 请在这方面提供帮助。您应该将您的网
gv_testef.DataSource = db.contacts.SingleOrDefault(p => p.id == 2);
这又一次失败了
请在这方面提供帮助。您应该将您的网格绑定到一个项目集合中。
.SingleOrDefault
返回一个元素,而db.contacts
是一个集合
要进行筛选,应尝试使用。Where
em_dbEntities1 db = new em_dbEntities1();
gv_testef.DataSource = db.contacts.Where(p => p.id == 2);
gv_testef.DataBind();
你的简历中有例外吗。方法?是的,关于“数据源只能是不可复制的,idatasource,…smthing”好的-如果有异常,你应该总是发布:)它帮助我们找到你的问题-现在就开始做…Thx alot dude…还有一件事你能推荐我一些关于实体框架的好书或在线材料吗
gv_testef.DataSource = db.contacts.SingleOrDefault(p => p.id == 2);
em_dbEntities1 db = new em_dbEntities1();
gv_testef.DataSource = db.contacts.Where(p => p.id == 2);
gv_testef.DataBind();