【问题标题】:EF6 Code-first project - can I use it in .NET Core?EF6 代码优先项目 - 我可以在 .NET Core 中使用它吗?
【发布时间】:2018-04-05 11:36:48
【问题描述】:

我有一个使用 EF6 创建的数据库。我有一个 VS 项目(库),其中仅包含我的模型和 DbContext。每当我需要使用我的数据库时,我只需引用该库 DLL。

对此我有几个问题:

  1. 如果我以某种方式丢失了这个 DLL,但我的模型仍然存在,会发生什么情况?我可以重新创建我的图书馆吗?
  2. 如果我想开始使用 .NET Core 怎么办?据我了解,我必须使用 EF Core,对吧?我怎样才能获得与我的 DLL 相同的体验(相同的模型)。

【问题讨论】:

  • 感谢@Chw 的编辑。现在好多了
  • 我没有得到你的第三个问题
  • @DarshanDave 我现在修好了,我希望它会更好

标签: entity-framework entity-framework-6 .net-core entity-framework-core


【解决方案1】:
  1. 当您仍然拥有模型的代码时,您可以简单地重新创建 DLL。无论如何,它会在您重建时重新创建。

  2. 您还可以将完整的实体框架与 .Net Core 一起使用,但这会使您的应用程序再次依赖于经典的 .Net。
    实体框架核心的工作方式在很多方面都类似,而且很多旧的注释也可以工作。如果不是很复杂,您应该能够轻松地将模型从 EF6 移植到 EF Core。请注意有关 group by 的一些限制,这些限制将在 2.1 中解决
    因为 .Net Core 独立于操作系统,所以您不会为您的依赖项而在 DLL 周围改组。一种方法是使用独立项目并将它们作为包发布。因此,您可以使用包管理器在其他项目中使用它们。

【讨论】:

  • 谢谢,这是非常有价值的意见。实际上,我完全忘记了 DLL 不能与 Core 一起使用,你是对的。我将不得不阅读更多如何使用这些“包”完成的内容。我想我必须创建 .NET Core 库
  • 不客气。使用 .Net 核心,它取决于您部署它的平台。如果您在 Windows 上使用它,仍然会有 DLL 作为构建输出。但是如果您开始引用外部 DLL,您的项目将只能在 Windows 上运行。所以建议引用不同的项目或包。这样,它们仍然可以独立于操作系统构建。
猜你喜欢
  • 1970-01-01
  • 2017-07-27
  • 2022-12-21
  • 2019-03-23
  • 1970-01-01
  • 2015-06-04
  • 1970-01-01
  • 2014-04-20
  • 2022-02-15
相关资源
最近更新 更多