1

我想在我的应用程序(.NET 4.0 本机应用程序 c#)中使用 EF 5.0,但我无法弄清楚如何解决在没有为所有客户端进行项目编译和应用程序更新的情况下向 datagrid 添加新列的情况。

我可以用我最近的应用程序行为来做到这一点

我将表单列保存在数据库中。网格绑定到我从数据库视图加载数据的数据表。当用户要求我添加新列时,我会更改视图(如果可能),将新列添加到列表中,并且用户能够在没有任何应用程序覆盖的情况下看到新列。

我知道 EF 是为管理实体创建的(因此无法用于动态属性),但是有什么方法可以以相同的方式使用 EF。

我正在尝试以某种方式实现 MVC 模式,但我可能错了。

我有

  • 型号 - EF,
  • 控制器 - 用于表单
  • 表单类 - 带网格对话框
  • 添加、编辑类

当用户想要将项目添加到表单中的网格时,我将向对话框发送控制器引用以创建(编辑)新项目。控制器具有实际实体的属性。

这适用于网格中的静态列数。但是,如果我想拥有动态列(从数据库生成),那么我必须为 View 中的数据保留 DataTable,并将 EF 仅用于添加、编辑的对话框。但我不想把这两种态度结合起来。

你能建议我如何只使用 EF(并将数据加载到一些匿名实体??)并且还具有网格的动态列功能?

谢谢你的任何建议

4

0 回答 0