【问题标题】:Connect to SQL Server using .NET Framework 4.7.2 Web API 2.0 and without using Entity Framework使用 .NET Framework 4.7.2 Web API 2.0 连接到 SQL Server,而不使用实体框架
【发布时间】:2021-02-19 13:34:11
【问题描述】:

我创建了一个基于 .NET Framework 4.7.2 的 Web API。我希望能够在不使用实体框架的情况下与 SQL Server 进行通信。

Microsoft.Data.SqlClientSystem.Data.SqlClient 与 .NET Framework 4.7.2 不兼容。我真的不想使用任何 ORM。

有什么建议吗?

【问题讨论】:

  • SqlConnection 及相关类内置于 .NET Framework 中,无需添加任何内容。
  • ADO.NET,在 System.Data.SqlClient 中
  • System.Data.SqlClient 不适用于 .NET Framework4.7.2。这是有关此的信息。 github.com/dotnet/efcore/issues/14880 - 框架 4.7.2 上的 System.Data.SqlClient '此平台不支持'

标签: sql-server asp.net-web-api2 .net-framework-4.8


【解决方案1】:

你可以使用 dapper 例如:

var data = new List<DapperTest>();
        using (IDbConnection db = new SqlConnection(ConfigurationManager.ConnectionStrings["Analysis"].ConnectionString))
        {
             data = db.Query<DapperTest>("select * from testTable").ToList();
        }
        return data;

【讨论】:

  • 所以我声明我不想使用 ORM。另外,我看到您的代码正在使用 SqlConnection,这正是我遇到的问题。如上所述,提供SqlConnection对象的System.Data.SqlClient在.net framework 4.7.2中不可用。
  • github.com/dotnet/efcore/issues/14880 - 框架 4.7.2 上的 System.Data.SqlClient '不支持此平台'
  • 好的,我刚刚检查了 Microsoft 文档,它清楚地表明它仍然包含在内。我不明白为什么我的应用程序看不到 SqlConnection 对象。我的 using 语句和所有内容中都有 System.Data.SqlClient。
【解决方案2】:

我想通了。我构建了一个 .net 标准库而不是一个 .net 框架库。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-30
    • 2017-10-05
    • 1970-01-01
    • 1970-01-01
    • 2012-10-03
    • 2020-12-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多