繁体   English   中英

如何在 ASP.NET Core 中使用 SqlClient?

[英]How to use SqlClient in ASP.NET Core?

我正在尝试在 ASP.net Core 中使用 SQLClient 库,但似乎无法让它工作。 我在网上找到了这篇文章,建议如何设置,但对我不起作用: http : //blog.developers.ba/using-classic-ado-net-in-asp-net-vnext/

我有一个简单的控制台应用程序包。 我的 project.json 看起来像这样:

{
  "version": "1.0.0-*",
  "description": "DBTest Console Application",
  "authors": [ "" ],
  "tags": [ "" ],
  "projectUrl": "",
  "licenseUrl": "",

  "compilationOptions": {
    "emitEntryPoint": true
  },

  "dependencies": {
    "System.Data.Common": "4.0.1-beta-23516",
    "System.Data.SqlClient" :  "4.0.0-beta-23516"
  },

  "commands": {
    "DBTest": "DBTest"
  },

  "frameworks": {
    "dnx451": { },
    "dnxcore50": {
      "dependencies": {
        "Microsoft.CSharp": "4.0.1-beta-23516",
        "System.Collections": "4.0.11-beta-23516",
        "System.Console": "4.0.0-beta-23516",
        "System.Linq": "4.0.1-beta-23516",
        "System.Threading": "4.0.11-beta-23516"
      }
    }
  }
}

我尝试以下代码:

using System;
using System.Data.SqlClient;

namespace DBTest
{
    public class Program
    {
        public static void Main(string[] args)
        {
            using (SqlConnection con = new SqlConnection(ConnStr)) {
                con.Open();
                try {
                    using (SqlCommand command = new SqlCommand("SELECT * FROM SAMPLETABLE", con)) {
                        command.ExecuteNonQuery();
                    }
                }
                catch {
                    Console.WriteLine("Something went wrong");
                }
            }

            Console.Read();
        }
    }
}

但是得到以下错误:

在此处输入图片说明

其他人有这个工作吗?

我想你可能错过了教程中的这一部分:

您需要从 Nuget 获取而不是引用 System.Data 和 System.Data.SqlClient:

System.Data.Common 和 System.Data.SqlClient。

目前,这会在 project.json –> aspnetcore50 部分中创建对这两个库的依赖。

 "aspnetcore50": { "dependencies": { "System.Runtime": "4.0.20-beta-22523", "System.Data.Common": "4.0.0.0-beta-22605", "System.Data.SqlClient": "4.0.0.0-beta-22605" } }

尝试通过 Nuget获取 System.Data.Common 和 System.Data.SqlClient,看看这是否为您添加了上述依赖项,但简而言之,您缺少System.Runtime。

编辑:根据 Mozarts 的回答,如果您使用 .NET Core 3+,请改用Microsoft.Data.SqlClient

对于 Dot Net Core 3,应使用Microsoft.Data.SqlClient

试试这个 打开你的projectname.csproj文件,它对我有用

<PackageReference Include="System.Data.SqlClient" Version="4.6.0" />

您需要在里面添加这个 Reference “ ItemGroup ” 标签。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM