Я изучаю перенос наших API на .Net Core 1.0.SqlClient Bulk Insert Без DataTable в .Net Core
К сожалению, datatable
не поддерживается, и мы используем их для массового ввода данных в SQL Server.
Например:
const string sqlText = @"
INSERT INTO MyTable (ID, Name)
SELECT ID, Name
FROM @MyList n
";
var dataTable = new DataTable("MyTable");
dataTable.Columns.Add("ID", typeof(int));
dataTable.Columns.Add("Name", typeof(string));
using (var connection = new SqlConnection(_tbsConnection))
{
await connection.OpenAsync();
try
{
var cmd = new SqlCommand(sqlText, connection, transaction);
var sqlFixture = cmd.Parameters.AddWithValue("@MyList", dataTable);
sqlFixture.SqlDbType = SqlDbType.Structured;
sqlFixture.TypeName = "InsertList";
var rowsAffected = await cmd.ExecuteNonQueryAsync();
}
}
Как я могу легко изменить это, чтобы позволить массовой вставки, без использования DataTables?
Что вы в конечном итоге делает для решения этой проблемы? Я столкнулся с той же проблемой. – codeConcussion
Попробуйте эту библиотеку: https://github.com/borisdj/EFCore.BulkExtensions – borisdj
Просто перейдите на .Net Core 2.0 - 'Datatable' там поддерживается – Paval