using Microsoft.Data.Sqlite;
using System.Collections.Generic;
public static void Main()
using (var connection = new SqliteConnection("DataSource=:memory:"))
GenerateDatabase(connection);
var dtCustomers = GenerateCustomers(5);
using (var bulk = new BulkOperation(connection))
bulk.DestinationTableName = "Customers";
bulk.AutoMapOutputIdentity = true;
bulk.BulkInsert(dtCustomers);
FiddleHelper.WriteTable(dtCustomers);
private static DataTable GenerateCustomers(int count)
DataTable dtTable = new DataTable("Customers");
dtTable.Columns.Add("CustomerID", typeof(int));
dtTable.Columns.Add("Name", typeof(string));
for(int i = 0; i < count; i++)
var drCustomer = dtTable.NewRow();
drCustomer["Name"] = "Customer_" + i;
dtTable.Rows.Add(drCustomer);
private static void GenerateDatabase(SqliteConnection connection)
using (var command = connection.CreateCommand())
[CustomerID] [INTEGER] PRIMARY KEY,
command.ExecuteNonQuery();