Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Using DataTable in .NET Core

I have a stored procedure in SQL Server that accepts a User-Defined Table Type. I'm following the answer from this post Bulk insert from C# list into SQL Server into multiple tables with foreign key constaints on how to send a DataTable to a stored procedure in SQL.

But when I create DataTable table = new DataTable(); I get an error that DataTable does not contain a constructor that takes 0 arguments.

I found this https://github.com/VahidN/EPPlus.Core/issues/4 which basically saying DataTable is no longer supported in .NET Core. So now what? how do I create a DataTable (or what is it's replacement)? how do I send a User-Defined Table Type to SQL Server on .NET Core?

like image 487
developer82 Avatar asked Feb 07 '17 20:02

developer82


People also ask

What is the use of DataTable in c# net?

In the ADO.NET library, C# DataTable is a central object. It represents the database tables that provide a collection of rows and columns in grid form. There are different ways to create rows and columns in the DataTable.

What is the use of DataTable?

A DataSet is made up of a collection of tables, relationships, and constraints. In ADO.NET, DataTable objects are used to represent the tables in a DataSet. A DataTable represents one table of in-memory relational data; the data is local to the .

How many rows can DataTable handle?

The maximum number of rows that a DataTable can store is 16,777,216.

Can we use DataTable with Div?

No you will not be able to do this...


1 Answers

DataTable is now supported in .NET CORE 2.0. See my answer at .Net Core how to implement SQLAdapter ./ DataTable function . Sample code below works in 2.0.

public static DataTable ExecuteDataTableSqlDA(SqlConnection conn, CommandType cmdType, string cmdText, SqlParameter[] cmdParms)
{
   System.Data.DataTable dt = new DataTable();
   System.Data.SqlClient.SqlDataAdapter da = new SqlDataAdapter(cmdText, conn);
   da.Fill(dt);
   return dt;
}
like image 179
Joe Healy Avatar answered Sep 18 '22 15:09

Joe Healy