2016-02-16 7 views
24

Ich versuche, SQLClient Bibliothek im ASP.net Core zu verwenden, aber es scheint nicht zu funktionieren. Ich fand diesen Artikel Online-Beratung, wie man Setup, aber es funktioniert nicht für mich: http://blog.developers.ba/using-classic-ado-net-in-asp-net-vnext/Wie wird SqlClient in ASP.NET Core verwendet?

Ich habe eine einfache Konsole Anwendungspaket. Mein project.json sieht wie folgt 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 bekommen die folgenden Fehler:

enter image description here

Noch jemand diese Arbeit bekam?

+1

Ich sehe keinen Verweis auf System.Runtime in einer Ihrer Abhängigkeiten. Hast du versucht, eins hinzuzufügen? – thorkia

+1

Sie tun auch nicht 'UPDATE, INSERT oder DELETE' in Ihrem sql, warum verwenden Sie' command.ExecuteNonQuery(); 'suchen Sie mit der' Fill() 'Methode, um Daten aus einer Datenbank oder der ExecuteScalar Methode zurückzugeben wenn nur eine einzelne Zeile zurückgegeben wird. Sie müssen auch Referenzen nicht nur zum 'using-Abschnitt in der .cs-Dateiklassenüberschrift 'hinzufügen, sondern diese auch manuell zum' referenz'-Knoten im Projekt hinzufügen – MethodMan

+1

Ihre Fehler zeigen an, dass Sie nicht die richtigen Verweise für DNX 4.5 hinzugefügt haben .1. Sie erstellen für zwei Projekttypen gleichzeitig. Wenn Sie sich nicht für DNX.4.5.1 interessieren, dann entfernen Sie das von Ihrer Konfiguration und es sollte aufbauen. – mason

Antwort

50

Ich glaube, Sie im Tutorial diesen Teil verpasst haben:

Statt Referenzierung System.Data und System.Data.SqlClient Sie müssen von Nuget greifen:

-System. Data.Common und System.Data.SqlClient.

Zur Zeit schafft dies Abhängigkeit in project.json -> aspnetcore50 Abschnitt zu diesen beiden Bibliotheken.

"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" 
     } 
} 

Versuchen System.Data.Common und System.Data.SqlClient über Nuget und zu sehen bekommen, wenn diese die oben genannten Abhängigkeiten für Sie fügt hinzu, aber auf den Punkt gebracht Sie vermissen System.Runtime.

+2

Ich musste 'System.Data.SqlClient' nur über' Nuget' hinzufügen und es funktioniert mit 'Dapper' in' .NET Core 1.1'. – JedatKinports

+1

Ich habe gerade system.data.sqlclient über Nuget hinzugefügt und es funktioniert – Shahram

+0

Dies scheint in '.NET Core 2.0' behoben werden. Für mich zumindest. – JedatKinports

Verwandte Themen