我目前正在开发一个 Windows 窗体应用程序,我计划在云设置上运行,该应用程序将计算新数据,在数据库中更新并充当我希望的实时数据馈送 RestFul API 的控制面板使用 ASP.NET MVC 5 Web API 创建。
我想知道将这两个独立的应用程序连接到一个数据库是否可行?我不太可能遇到数据库条目冲突问题,因为每个应用程序都有一个单独的任务来读取或写入某些表的数据。
如果可行,这是否意味着每次我更改表时都必须更新两个 Entity Framework 数据库模型? (不是主要的苦差事)。
有更好的解决方案吗?我是否应该放弃运行 Windows 窗体应用程序来控制公共(public) API 后端的某些元素的想法?
如果有这样的设计, future 会遇到什么问题?
最佳答案
假设你有一个分层架构,那么你有很多选择:
- 共享您的数据库、DAL 以及业务层
- 扩展您的 WEB API 并在您的 WinForms 中使用它
- 仅重用 DAL(不是最佳方法,因为业务系统不仅是数据,而且是驻留在业务层中的行为)
- 只共享数据库——这是最糟糕的选择,有很多缺点
查看图像上的选项 1 和 2:
关于C#使用 Entity Framework 使用多个应用程序连接单个数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45770487/