[英]How can I reference and use .NET Core 3.0 and .NET EF 4.7 projects, in a third project, and use their database connections?
[英]How can I use ODBC connections with Visual Studio 2019 and .NET Core 3.0?
我使用 Visual Studio Community 2019 16.3.1。
我想在 .NET Core 3.0 項目中使用 ODBC 連接(示例適用於 .NET Framework 4.x):
using System.Data.Odbc;
using (OdbcConnection connection = new OdbcConnection(odbcConnectionString))
{
using (OdbcCommand command = new OdbcCommand(sql, connection))
{
command.CommandType = System.Data.CommandType.Text;
command.CommandTimeout = 0;
command.Connection.Open();
string value = Convert.ToString(command.ExecuteScalar());
return value;
}
}
我收到錯誤消息:
錯誤 CS1069
在命名空間“System.Data.Odbc”中找不到類型名稱“OdbcConnection”。 此類型已轉發到程序集 'System.Data.Odbc, Version=4.0.1.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' 考慮添加對該程序集的引用。
如果我對 class OleDbConnection 嘗試相同的操作,我會收到 OdbcCommand class 的類似消息和類似的錯誤。
在 Microsoft 文檔中,class OdbcConnection 被描述為 System.Data.Odbc 中 .NET Core 3.0 的一部分。
為什么我必須鏈接到舊版本?
我怎樣才能提出要求的參考?
附錄我發現 .NET Core 3.0 中的 System.Data.Odbc package 只包含兩個類(OdbcPermission 和 OdbcPermissionAttribute) 缺少 .NET Framework 4.8 的 System.Data.Odbc 中包含的所有其他類。
ODBC 和 OleDb 函數包含在 Microsoft.Windows.Compatibility Pack 中。 如果您在 NuGet 的幫助下下載此文件,則會找到這些類(針對 .NET Core 3.1 進行了測試)。
package 可以在此處下載: https://www.nuget.org/packages/Microsoft.ZAEA234828CE3AAB43406BCompatibilityEC3AAB4
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.