Как привязать gridview с помощью linq / Entity Framework?
мне нужно привязать 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();
}
и получаю эту ошибку.
5 ответов
Регистрация Duplication
а затем попробуйте связать его.
я отредактировал свой последний ответ, чтобы отобразить полный код:
ProductDBEntities db = new ProductPDBEntities();
GridView1.DataSource = (from u in db.Products where u.PID == 1 select u).First();
GridView1.DataBind();
этот код может быть полезным:
gv.DataSource = (from u in db.Products .First(u=> u.PID==1)).ToList();
Если у вас есть таблица и детали таблицы можно использовать этот:
gv.DataSource = (from a in context.tblorder.First(p => p.id == 19).tblorderdetail where a.ID == 19 select a).ToList();
во-первых, вы можете проверить свои данные, чтобы увидеть, есть ли более одного продукта с PID = 1.
во-вторых, вы можете использовать .First () метод, чтобы убедиться, что вы получаете только один результат для привязки:
var pro = (from u in db.Products where u.PID == 1 select u).First();
Я думаю, что вы должны сделать ToList()
когда добавить в DataSource
:
ProductDBEntities db = new ProductPDBEntities();
var pro = from u in db.Products where u.PID == 1 select u;
if (pro != null)
{
GridView1.DataSource = pro.ToList();
GridView1.DataBind();
}
Примечание: как это GridView
, должно занять n строк. No row limit
.