0

我写了一篇有 2 个问题的帖子,并被告知将它们分成 2 个不同的帖子,因为其中一个在这里解决了,另一个是:

我认为我在理解一些基本概念时遇到了问题......我正在创建一个用于管理复杂数据库的项目,(我正在使用 linq 到我的数据库的实体,它位于 ms-sql 2012 和 WPF 中)

我想创建一个通用视图来编辑(删除更新和插入)数据库中的大量表,我手动创建表列表没有问题,但之后我如何以通用方式管理它?linq to entity 不允许执行以下操作:

string tableName = listbox.selectedItem.value;
var a = from p in db.tables[tableName] select p;

即使我为每个表手动完成所有这些,我如何创建一个编辑信息的 UI?我需要动态创建一个表单/视图/用户控件进行编辑,其中将包含每列的文本框和日期时间选择器等项目...但我无法为表格进行通用选择...

为了清楚起见,我在 .net 技术方面有一些很好的经验,但是 WPF 和 LINQ 对我来说是新的,我可以在没有 linq 的情况下使用直接联系 SQL DB 轻松地在 asp.net 或 windows 窗体应用程序中创建以上所有内容,因此我理解我对一些基础知识的理解有疑问,希望得到我的 2 个问题的答案,并且非常乐意获得相关教程的指导

4

1 回答 1

0

使用实体框架的主要优点是它允许对数据库进行一定程度的抽象(这就是 ORM 所做的)。如果您需要将 DB 表直接暴露给 UI,您最好使用普通的旧 ADO.Net System.Data.DataSet etc,并且 WPFDataGrid具有AutoGenerateColumns基于 DataTable 列自动生成网格列的属性。

此外,listbox.selectedItem.value不建议在 WPF 中执行类似的操作。您不应在代码中操作 UI 元素的属性。你最好看看 MVVM 模式。

于 2012-12-03T17:21:52.270 回答