0

我有一个使用 EF4 数据库第一种方法的 Winforms 应用程序(具有用于数据访问的 .edmx 文件),现在我需要一个双向 dataviewgrid,它使我能够显示、修改、删除和添加列到数据库表,显示数据似乎很容易并且可以单独使用向导完成,但是将数据写回数据库是复杂的部分,我发现了很多关于这个问题的线程,但没有一个线程涉及 EF4 组件来访问数据(如果可能的话),大多数示例使用 datase / datasource / bindingnavigator /bindingcontext 和更令人困惑的东西。

问题是我真的需要所有这些组件吗?或者我可以使用我的对象模型来做到这一点吗?

如果有人能就所有这些对象如何协同工作提供一些说明,那就太好了,也欢迎任何好的链接或小代码部分。

提前致谢

4

2 回答 2

0

DataGridView 只是您的数据中的一个视图。您应该编写一个类,其中表中的每一列都由一个属性表示。然后将表中的所有数据加载到对象列表(列表)中。将 UpdateMethod 添加到您的类。现在您可以在 GridView 中读取/更改数据,并且您的对象属性将自动更改。单击保存按钮或其他内容后,您为列表中的所有对象调用更新方法。因此,您可以在 GridView 中编辑数据并将其保存到您的数据库

于 2012-06-20T09:15:39.570 回答
0

这是@RobertHarvey链接的答案:

线的问题:

select new { c.UserName, c.Password, c.Description }

是它正在创建一个匿名类型,而匿名类型是不可变的——即只读。这就是为什么您的更改不会反映在新类型或原始 EF 对象中的原因。

现在,关于不显示您要绑定的对象的所有列的方法,我在下面给出了三个选项。

于 2013-03-01T08:37:18.617 回答