2

我很困惑。请任何人指导我。

以 MVVM 模式构建应用程序时是否必须使用任何 ORM 工具(EF 或 Linq2SQL)?

现在我的应用程序使用直接查询返回数据集,例如“从表中选择 *”

我可以使用数据集/数据表来列出然后是可观察的集合吗?或者我们需要 EF 或 L2S。

我很困惑在 MVVM 中启动

4

1 回答 1

4

如果这是您想要做的,那么您没有理由不能构建自己的模型层。现代设计模式的好处在于它们通常不知道您使用什么来填充每个部分。

我将为您的所有数据访问代码构建特定的、分离的类,以保持第一个M分开。

MVVM 和 MVC 等模式的首要原则是将您的各种关注点分开。这在很多方面都有帮助 - 具体来说,包括支持您在使用通用模式时使用自己的数据访问(模型)的能力。

理想情况下,您将编写您的代码,以便如果您决定在未来迁移到实体框架,您可以这样做而无需对其余代码进行太多更改。而是 - 其余代码没有任何更改。

您可以使用存储库模式编写数据访问权限,使用自定义类执行您的手写 SQL 并生成 View 和 ViewModel 可以处理的类。由于 Repository 是您的其他代码交互的主要场所,如果您将来切换到 EF 或其他任何东西,您知道您不必更改任何 View 或 ViewModel 代码。

于 2012-04-15T00:13:42.930 回答