我对Entity Framework相对较新。我已经学会了如何操作EF中的数据以及使用C#在网格视图和下拉列表中进行数据绑定的基础知识。但我只是无法从数据库中的表中过滤记录(行)并将它们绑定到网格。以下是我尝试过的几种方法:
要绑定完整的表格(这可以很好地使用b-e-atiti)
em_dbEntities1 db = new em_dbEntities1(); //"em_dbEntities1" is the Database
gv_testef.DataSource = db.contacts ; //"contact" is the table
gv_testef.DataBind(); //"gv_testef" is the gridview
根据条件提取单行并与GRIDVIEW结合(这可能是失败的)
em_dbEntities1 db = new em_dbEntities1();
contact con = db.contacts.SingleOrDefault(p => p.id == 2);
gv_testef.DataSource = con ;
gv_testef.DataBind();
第二种方法:
gv_testef.DataSource = db.contacts.SingleOrDefault(p => p.id == 2);
这又失败了。
请在这方面提供帮助。
答案 0 :(得分:2)
您应该将网格绑定到项目集合 - .SingleOrDefault
返回单个元素,而db.contacts
是集合。
要进行过滤,您应该尝试使用.Where
。
em_dbEntities1 db = new em_dbEntities1();
gv_testef.DataSource = db.contacts.Where(p => p.id == 2);
gv_testef.DataBind();