我的WPF应用程序的后端层中是否需要WCF层?

时间:2016-08-10 16:14:13

标签: c# wpf wcf

我正在使用Entity Framework创建我的第一个独立桌面WPF应用程序。我是否需要WCF层来访问数据库?如果我直接从ViewModels调用DBContext,这是一个不好的做法吗?

1 个答案:

答案 0 :(得分:4)

TL; DR

简短的回答是:它取决于!

答案很长

这取决于您需要实施的用例。如果你需要添加另一个抽象层--WCF层 - 来隐藏你的OR / M,你就可以做到。但是,如果您的策略像独立的WPF应用程序一样容易,我就不会打扰制作WCF层。您只需访问应用程序中的IDBContext,但请记住,不要将视图模型与EF紧密结合。

总是值得尝试将问题分开!

这些担忧是:

  • 数据或持久性(EF)用于将数据库映射到OO模型的模型
  • 支持您的视图的ViewModel以及要显示的数据
  • Persistence和ViewModels的映射

通过这种方式,您可以实现轻量级设置,旨在实现更好的分离和更好的测试能力。

进一步扩展性

稍后在您的开发路径上,当您到达需要的位置时,添加基础架构问题,例如可以作为公共API的WCF层 - 或者作为共享的入口点数据库访问,你可以轻松地将它作为一个新项目添加,将它的类放在接口后面(这些是你将作为参考添加到你的WPF项目中唯一的那些),并让这个项目具有确切的实现。