【发布时间】:2011-08-13 05:04:25
【问题描述】:
我一直在尝试将 Entity Framework 对象绑定到 DataGridView,但我一直遇到死胡同,我似乎无法在任何地方找到答案。
我可以将整个表(实体)绑定到一个网格视图,它允许我进行更改并将这些更改保存回数据库,如下所示:
WS_Model.WS_Entities context;
private void simpleButton1_Click(object sender, EventArgs e)
{
context = new WS_Entities();
var query = from c in context.Users select c;
var users = query.ToList();
gridControl1.DataSource = users;
}
private void simpleButton2_Click(object sender, EventArgs e)
{
context.SaveChanges();
}
但我不想在我的 datagridview 中查看我的数据库中表中的所有列,所以我尝试这样做......
WS_Entities context = new WS_Entities();
private void simpleButton1_Click(object sender, EventArgs e)
{
var query = from c in context.Users
where c.UserName == "James"
select new { c.UserName, c.Password, c.Description };
var results = query.ToList();
gridControl1.DataSource = results;
}
private void simpleButton2_Click(object sender, EventArgs e)
{
context.SaveChanges();
}
但现在我无法编辑 DataGridView 中的任何数据。
我在这里看不到树木的树木 - 请有人介意指出我们的方法错误或告诉我将 EF 与 Winforms 绑定的最佳做法是什么,因为我正在流失人才。
我可以看到它与该部分有关:
select new { c.UserName, c.Password, c.Description }
但我不知道为什么。
【问题讨论】:
标签: c# winforms entity-framework data-binding datagridview