C#使用 Entity Framework 使用多个应用程序连接单个数据库

标签 c# .net sql-server asp.net-mvc entity-framework

我目前正在开发一个 Windows 窗体应用程序,我计划在云设置上运行,该应用程序将计算新数据,在数据库中更新并充当我希望的实时数据馈送 RestFul API 的控制面板使用 ASP.NET MVC 5 Web API 创建。

我想知道将这两个独立的应用程序连接到一个数据库是否可行?我不太可能遇到数据库条目冲突问题,因为每个应用程序都有一个单独的任务来读取或写入某些表的数据。

如果可行,这是否意味着每次我更改表时都必须更新两个 Entity Framework 数据库模型? (不是主要的苦差事)。

有更好的解决方案吗?我是否应该放弃运行 Windows 窗体应用程序来控制公共(public) API 后端的某些元素的想法?

如果有这样的设计, future 会遇到什么问题?

最佳答案

假设你有一个分层架构,那么你有很多选择:

  1. 共享您的数据库、DAL 以及业务层
  2. 扩展您的 WEB API 并在您的 WinForms 中使用它
  3. 仅重用 DAL(不是最佳方法,因为业务系统不仅是数据,而且是驻留在业务层中的行为)
  4. 只共享数据库——这是最糟糕的选择,有很多缺点

查看图像上的选项 1 和 2:

enter image description here enter image description here

关于C#使用 Entity Framework 使用多个应用程序连接单个数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45770487/

相关文章:

c# - 创建一个返回数组的方法

.net - 在 .net 中解析 xml 的正则表达式

c# - 如何使用 Visual C# 从 SQL Server 表中获取 ID 号

asp.net - 如何将所有 HTML img 关闭标签转换为 XML 兼容? (<img> 到 <img/>)

c# - 与 Python 中的 C# matchObject.Value 等效吗?

c# - 如何使用 dataGridView C# 中的行更新数据库中的行

c# - 根据架构验证 XML 元素

c# - NServiceBus 中的 AoP 支持?

.net - 如何将可选节点从我的信息模型实例化到我的 OPC UA 服务器(.Net 环境)

sql - 如何将 xml 数据从一个存储过程传递到另一个存储过程?