gpt4 book ai didi

c# - 如何在第三个项目中引用和使用 .NET Core 3.0 和 .NET EF 4.7 项目,并使用它们的数据库连接?

转载 作者:行者123 更新时间:2023-11-30 22:52:51 26 4
gpt4 key购买 nike

我主要是 PHP 开发人员,最近被迫使用 .NET。

我有一个包含 2 个项目的解决方案:

  1. 一个与一个数据库有数据连接,是一个 .NET Core 项目
  2. 另一个与第二个数据库有数据连接,它是 .NET EF 4.7 项目。

我想创建一个控制台应用程序,让我可以同时使用这两个数据库。我需要这两个项目,因为它们已经定义了所有模型和连接并且可以独立运行。我需要能够连接到两个数据库,并获取一些数据以在控制台中输出。

到目前为止,我已经创建了第三个项目,Core 3.0。我设法使用了第一个项目数据连接,但我无法弄清楚如何使用 EF 4.7 项目连接。我收到此错误:

The ADO.NET provider with invariant name 'System.Data.SqlClient' is either not registered in the machine or application config file, or could not be loaded. See the inner exception for details. ---> System.ArgumentException: The specified invariant name 'System.Data.SqlClient' wasn't found in the list of registered .NET Data Providers.

我已经尝试重新安装 EntityFramework,检查了 app.config(提供程序字符串在那里),检查了 EntityFramework.SqlServer.dll 是否在依赖项中 - 一切似乎都正常。

这可能吗?第三个项目可以是 Core 3.0 项目吗?有人提到我应该使用 .NET 标准类库来处理这两个项目,但类库不是控制台应用程序。请指出正确的方向......

最佳答案

1 和 2 都应该是 .NET Standard 项目。第三个应该针对 .NET Core 或 .NET Framework。

恐怕您不能从 .NET Framework 项目“使用”.NET Core 项目,反之亦然。这就是 .NET 标准出现的原因。

您可能需要考虑将现有项目的一部分分解为面向 .NET Standard 的类库。然后,您可以从任何针对与您的目标 .NET Standard 版本兼容的版本编译的应用中引用它们。

关于c# - 如何在第三个项目中引用和使用 .NET Core 3.0 和 .NET EF 4.7 项目,并使用它们的数据库连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57770832/

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