Ich versuche, die SQLClient-Bibliothek im ASP.net Core zu verwenden, aber es scheint nicht zu funktionieren. Ich fand diesen Artikel online, in dem empfohlen wurde, wie er eingerichtet werden soll, aber er funktioniert bei mir nicht: http://blog.developers.ba/using-classic-ado-net-in-asp-net-vnext/
Ich habe ein einfaches Konsolenanwendungspaket. Meine project.json sieht folgendermaßen aus:
{
"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"
}
}
}
}
Und ich versuche den folgenden Code:
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();
}
}
}
Aber bekomme die folgenden Fehler:
Hat sonst noch jemand das zum Laufen gebracht?
c#
asp.net-mvc
asp.net-core
sqlclient
.net-core
Rob McCabe
quelle
quelle
UPDATE, INSERT or DELETE
in Ihrem SQL keinen Befehl aus. Warum verwenden Sie diecommand.ExecuteNonQuery();
Suche mit derFill()
Methode zum Zurückgeben von Daten aus einer Datenbank oder der ExecuteScalar-Methode, wenn Sie nur eine einzelne Zeile zurückgeben? Sie müssen auch Verweise nicht nur auf dieusing section in the .cs file class header
hinzufügen, sondern auch manuell zumreference
Knoten im ProjektAntworten:
Ich denke, Sie haben diesen Teil im Tutorial möglicherweise verpasst:
Versuchen Sie, System.Data.Common und System.Data.SqlClient über Nuget abzurufen, und prüfen Sie, ob dadurch die oben genannten Abhängigkeiten für Sie hinzugefügt werden. Kurz gesagt, Sie vermissen System.Runtime.
Bearbeiten: Laut Mozarts-Antwort verweisen Sie
Microsoft.Data.SqlClient
stattdessen auf .NET Core 3+, wenn Sie .NET Core 3+ verwenden.quelle
System.Data.SqlClient
via hinzufügenNuget
und es funktioniert mitDapper
in.NET Core 1.1
..NET Core 2.0
. Für mich zumindest.Für Dot Net Core 3 sollte Microsoft.Data.SqlClient verwendet werden.
quelle
Versuchen Sie dies. Öffnen Sie Ihre Datei projectname.csproj , die für mich funktioniert.
<PackageReference Include="System.Data.SqlClient" Version="4.6.0" />
Sie müssen dieses Referenz- Tag " ItemGroup " hinzufügen .
quelle