2014-09-01 87 views
2

我是WPF和MVVM的新手,我有几个问题。WPF MVVM数据模型

我正在看一个“简单”的项目,在做了大量的阅读和一些简单的应用程序后开始。

我想要做的就是能够显示数据库表中的数据。看起来很简单,我可以根据数据库中的每个字段使用Model进行此操作。但是,如果数据库开发人员添加其他字段会发生什么?我必须根据新的字段重新创建我的模型。

所以我的问题是这样的。如何从数据库读取所有字段并显示它们。 可以从数据库而不是固定模型创建动态模型吗?

是MVVM还是WPF这种类型的应用程序的正确格式?

在此先感谢。

+5

我个人不会这样做。在表中添加一个字段是一个突破性的改变,你不希望它奇迹般地出现在你的应用程序没有模型/视图/等修改。一个简单的例子:你将使用什么标签作为新字段的列标题?使用反射的字段名称?那么,没有真实世界的应用程序会这样做。 – ken2k 2014-09-01 12:26:42

+0

我能想到的唯一场景就是自定义的SQL工具,您可以在其中让用户编写查询并显示结果。否则,给出的建议已经很扎实。如果你想这样做,你也可以使用绑定到数据集的gridview。 – kidshaw 2014-09-01 13:11:16

+0

如果开发人员向数据库添加新字段并且这些字段与您的屏幕相关,那么希望程序员将这些字段添加到模型中似乎是很好的做法?无论如何,这就是我们在专业环境中工作的方式。另一种方式呢?如果程序员添加了一个你不想显示的字段呢?你的方法让你陷入一种或另一种方式。 – BenjaminPaul 2014-09-01 14:20:46

回答

1

如果你热衷于使用这种方法,我猜这样做的“简单”方法是读取像这样的数据:“SELECT * FROM YOURTABLE”,然后将结果填充到数据表中。然后,该数据表可以用作gridview的数据源,该数据源需要将其autogenerateColumns属性设置为true。通过这种方式,它将始终显示所有返回的列,但这通常不是实践,因为您无法对列进行模板化 - 但在某些情况下,这足够好。