【问题标题】:Sharing Data Access Layer DLLs among multiple Projects在多个项目之间共享数据访问层 DLL
【发布时间】:2020-01-29 12:07:43
【问题描述】:

我们有多个共享同一个数据库的项目。我们为此数据访问层创建了 DLL。现在的问题是,为了将其作为 DLL 共享,我们在一个内部保留了 3 个类库(3 层数据库访问层)解决方案。将来可能会出现数据访问层需要一些修改(迁移)的情况。那么如何保持数据库访问层支持未来的修改,目前还不是很灵活。

我们无法在类库项目中运行迁移,一种解决方法可能是拥有一个 Web 项目并在其中分别添加 3 个类库,然后使用它进行修改。这种方法有多好?

我们将数据库访问层代码保存在存储库中的不同分支中。我们需要的是,每当对分支进行一些更改时,它应该触发一些进程,该进程提取修改后的 DLL 并将其作为参考添加到我们的项目。

【问题讨论】:

    标签: c# asp.net-core dll n-tier-architecture ef-core-2.0


    【解决方案1】:

    您应该在项目之间共享 dll 的唯一情况是项目非常小并且永不更改。在现实世界中,情况并非如此,而且很快就会变得难以管理。

    有很多方法可以做到这一点。以下是您可以采取的两种更好的方法:

    1. 将共享代码放入 nuget 包并在本地托管(如果您没有 azure,就像设置共享文件夹一样简单)

    2. 为共享数据创建一个微服务,并使用您调用的 api 从每个应用程序中获取信息。可以轻松地制作一个作为微服务“客户端”的 nuget 包,并将其导入每个应用程序,而不是在每个应用程序中复制粘贴连接代码。

    【讨论】:

      猜你喜欢
      • 2017-03-07
      • 1970-01-01
      • 1970-01-01
      • 2017-05-15
      • 2018-03-18
      • 2012-07-22
      • 1970-01-01
      • 1970-01-01
      • 2011-02-02
      相关资源
      最近更新 更多