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:
Anyone else got this working?
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.
System. Data. SqlClient is the ADO.NET provider you use to access SQL Server or Azure SQL Databases. Historically SQL has used System.
The Microsoft. Data. SqlClient API details can be found in the . NET API Browser.
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.
For Dot Net Core 3, Microsoft.Data.SqlClient should be used.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With