C# 如何在winforms中使用EF进行双向数据绑定?

C# 如何在winforms中使用EF进行双向数据绑定?,c#,winforms,entity-framework,entity-framework-5,C#,Winforms,Entity Framework,Entity Framework 5,我对编码非常陌生。现在我要告诉你我的现状和我想去的地方。希望你能帮忙 我使用的是EF5.0数据库优先方法,我希望能够使用GridView列出和更新数据库值 目前我正在像这样绑定我的数据: pehlivan_kabametrajEntities ctx = new pehlivan_kabametrajEntities(); var result = from k in ctx.Kolons select k; data

我对编码非常陌生。现在我要告诉你我的现状和我想去的地方。希望你能帮忙

我使用的是EF5.0数据库优先方法,我希望能够使用GridView列出和更新数据库值

目前我正在像这样绑定我的数据:

  pehlivan_kabametrajEntities ctx = new pehlivan_kabametrajEntities();
        var result = from k in ctx.Kolons
                     select k;
        dataGridView1.DataSource = result.ToList();
这段代码完美地列出了我的数据。然而,这是错误的或不足以满足我的需要。因为我希望能够在gridview上编辑我的数据。请告诉我怎么了,我该怎么办。至少一些文件的链接,将达到我的目的地,我的愿望将是伟大的。
Thx.

如果您绑定到查询结果,那么您只使用单向数据绑定。您需要有
IBindingList
才能获得双向数据绑定。试试这个:

 ctx.Kolons.Load();
 dataGridView1.DataSource = ctx.Kolons.Local.ToBindingList();
如果不起作用,请尝试使用
BindingSource

 ctx.Kolons.Load();
 gridBindingSource.DataSource = ctx.Kolons.Local.ToBindingList();
 dataGridView1.DataSource = gridSource; 

你有什么问题吗?1) 填充gridview后,是否能够编辑页面上的数据?或者2)将编辑后的数据从页面中取出并返回到数据库中?实际上这两种数据都是(:它说没有定义.Load()或.ToBindingList()。我使用的是VS2012。此方法可以更改吗?我以为您使用的是EF5,这意味着DbContext API,但看起来您只使用了.NET 4.5和旧的ObjectContext API。实际上我不知道我做了什么。我使用数据库优先的方法将ADO.NET实体数据模型添加到我的项目中,它创建了我的代码。我想我需要重新开始lea关于这个主题。你能推荐一个教程或其他更好的学习方法吗?你的项目是针对.NET 4.5的吗?是的,它是针对.NET 4.5的