using System.Collections.Generic;
using System.Configuration;
using System.Data.SqlClient;
public class HomeController : Controller
public ActionResult Index()
CustomerData data = new CustomerData()
Text = "Sally, Whittaker,sally.whittaker@example.com" + Environment.NewLine +
"Belinda, Jameson, belinda.jameson@example.com" + Environment.NewLine +
"Jeff, Smith, jeff.smith@example.com" + Environment.NewLine +
"Sandy, Allen, sandy.allen@example.com" + Environment.NewLine
public ActionResult ImportCustomers(CustomerData data)
DapperPlusManager.Entity<Customer>().Table("Customers");
List<Customer> customers = new List<Customer>();
using (IDbConnection db = new SqlConnection(FiddleHelper.GetConnectionStringSqlServer()))
using (var csv = new CsvReader(new StringReader(data.Text)))
csv.Configuration.HasHeaderRecord = false;
string[] result = new string[3];
for (int i = 0; csv.TryGetField<string>(i, out value); i++)
Customer c = new Customer()
db.BulkInsert(customers);
return RedirectToAction("Index", "Customer");
public static void CreateDatabase()
using (var connection = new SqlConnection(FiddleHelper.GetConnectionStringSqlServer()))
using (var command = connection.CreateCommand())
CREATE TABLE [dbo].[Customers] (
[CustomerID] INT IDENTITY (1, 1) NOT NULL,
[FirstName] NVARCHAR (MAX) NULL,
[LastName] NVARCHAR (MAX) NULL,
[Email] NVARCHAR (MAX) NULL,
CONSTRAINT [PK_dbo.Customers] PRIMARY KEY CLUSTERED ([CustomerID] ASC)
INSERT INTO Customers (FirstName, LastName, Email) Values ('Carson', 'Alexander', 'carson.alexander@example.com');
INSERT INTO Customers (FirstName, LastName, Email) Values ('Meredith', 'Alonso', 'Meredith.Alonso@example.com');
INSERT INTO Customers (FirstName, LastName, Email) Values ('Arturo', 'Anand', 'Arturo.Anand@example.com');
INSERT INTO Customers (FirstName, LastName, Email) Values ('Gytis', 'Barzdukas', 'Gytis.Barzdukas@example.com');
INSERT INTO Customers (FirstName, LastName, Email) Values ('Yan', 'Li', 'Yan.Li@example.com');
command.ExecuteNonQuery();