Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to use SqlClient in ASP.NET Core?

I am trying to use SQLClient library in the ASP.net Core but cant seem to get it working. I found this article online advising how to setup but its not working for me: http://blog.developers.ba/using-classic-ado-net-in-asp-net-vnext/

I have a simple console application package. My project.json looks like this:

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

And I try the following 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();         }     } } 

But get the following errors:

enter image description here

Anyone else got this working?

like image 787
Rob McCabe Avatar asked Feb 16 '16 22:02

Rob McCabe


People also ask

What is core .NET SqlClient data provider?

The Microsoft SqlClient Data Provider for SQL Server is a . NET Framework and . NET Core data provider. It's used for connecting to a database, executing commands, and retrieving results.

What is System data SqlClient in asp net?

System. Data. SqlClient is the ADO.NET provider you use to access SQL Server or Azure SQL Databases. Historically SQL has used System.

Where is Microsoft data SqlClient?

The Microsoft. Data. SqlClient API details can be found in the . NET API Browser.


2 Answers

I think you may have missed this part in the tutorial:

Instead of referencing System.Data and System.Data.SqlClient you need to grab from Nuget:

System.Data.Common and System.Data.SqlClient.

Currently this creates dependency in project.json –> aspnetcore50 section to these two libraries.

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

Try getting System.Data.Common and System.Data.SqlClient via Nuget and see if this adds the above dependencies for you, but in a nutshell you are missing System.Runtime.

Edit: As per Mozarts answer, if you are using .NET Core 3+, reference Microsoft.Data.SqlClient instead.

like image 50
MikeDub Avatar answered Sep 22 '22 17:09

MikeDub


For Dot Net Core 3, Microsoft.Data.SqlClient should be used.

like image 30
Mozart AlKhateeb Avatar answered Sep 20 '22 17:09

Mozart AlKhateeb