gpt4 book ai didi

c# - 我应该将 Entity Framework 包含在我的类库中还是直接包含在应用程序中?

转载 作者:行者123 更新时间:2023-11-30 16:48:38 25 4
gpt4 key购买 nike

您以前可能遇到过此类问题,但就我而言,情况有点不同,我找不到可行的答案。 (它可能已经存在,但我找不到)。

我正在开发一个业务应用程序,该应用程序的全部功能分为多个类库。我正在使用 Entity Framework,但我不确定哪个是包含它的正确位置?就我而言,我有这些库:

  • Project.Library.Core
  • Project.Library.Models(包含实体数据模型和实体)。
  • Project.Library.Auth(包含身份验证相关类和用户管理类)。
  • 和经常使用实体和数据库上下文的类似类。

为了完成这项工作,我必须在每个库中分别安装 Entity Framework。最终它们将包含在许多 ASP.NET MVC Web 应用程序中。我已经将 Entity Framework 直接安装到 Web 应用程序中,但此应用程序将来会包含移动应用程序以及可能的 Windows 商店应用程序。在那种情况下,我可以简单地设置一个 ASP.NET Web API 并使用现有的类库来生成所需的数据。这是阻止我将 Entity Framework 直接整合到 Web 应用程序中的唯一因素。

您对此有何看法?将 Entity Framework 单独包含在每个库中(需要正常运行),还是简单地包含在 Web 应用程序中,然后对 Web API 采用相同的方法?

谢谢。

最佳答案

您只需将 EntityFramework“安装”到一个地方:Project.Library.Models。假设标准代码优先对象作为您的 DTO,只要您使用数据访问层包装上下文对象,您就不需要在其他任何地方直接引用。

添加对该程序集的引用将导致必要的 DLL 包含在您的应用程序、网站等中。请注意,如果您使用的是 EntityFramework.SqlServer,则 Visual Studio 不会检测到 transient 依赖性,因此您需要做类似的事情:

class Include
{
private Include() { }
private SqlProviderServices IncludeSql;
}

模型项目中的某处,以便 DLL 也被复制。

关于c# - 我应该将 Entity Framework 包含在我的类库中还是直接包含在应用程序中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37891731/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com