Как использовать SqlClient в ASP.NET Core?
Я пытаюсь использовать библиотеку SQLClient в ASP.net Core, но, похоже, не работает. Я нашел эту статью онлайн, в которой говорится, как настроить, но не работает для меня: http://blog.developers.ba/using-classic-ado-net-in-asp-net-vnext/
У меня есть простой консольный пакет приложений. Мой проект .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();
}
}
}
Но получите следующие ошибки:
![введите описание изображения здесь]()
Кто-нибудь еще получил эту работу?
Ответы
Ответ 1
Я думаю, что вы, возможно, пропустили эту часть в учебнике:
Вместо ссылки на System.Data и System.Data.SqlClient вам нужно ухватиться за Nuget:
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"
}
}
Попробуйте получить System.Data.Common и System.Data.SqlClient через Nuget и посмотрите, добавляет ли это указанные выше зависимости, но в двух словах вам не хватает System.Runtime.
Ответ 2
Попробуйте это Откройте ваш файл projectname.csproj, его работа для меня.
<PackageReference Include="System.Data.SqlClient" Version="4.6.0" />
Вам нужно добавить этот тег Ссылка " ItemGroup " внутри.
Ответ 3
Для Dot Net Core 3 следует использовать Microsoft.Data.SqlClient.