public void ShouldPerformBulkInsert(BulkInsertTestCase <TestEntity> testCase) { // Given var createTableQuery = new QueryObject("create table ##TransactionsTest (Id int identity(1, 1) not null, Name nvarchar(max) not null, Value int not null);"); var selectAllQuery = new QueryObject("select * from ##TransactionsTest"); var dropTableQuery = new QueryObject("drop table ##TransactionsTest;"); // When TestEntity[] actual; using (var connection = ConnectionsFactory.Create()) try { connection.Execute(createTableQuery); using (var session = _sessionsFactory.Create()) { session.BulkInsert("##TransactionsTest", testCase.Source); session.Commit(); } actual = connection.Query <TestEntity>(selectAllQuery).ToArray(); } finally { connection.Execute(dropTableQuery); } // Then Assert.Equal(testCase.Source, actual); }
public void ShouldPerformBulkInsert(BulkInsertTestCase <TestEntity> testCase) { // When TestEntity[] actual; using (var connection = SqlConnectionsFactoryMethod()) { connection.Execute(@"create table #TestEntities (Id int identity(1, 1) not null, Name nvarchar(max) not null, Value int not null)"); connection.BulkInsert("#TestEntities", testCase.Source); actual = connection.Query <TestEntity>("select * from #TestEntities").ToArray(); } // Then Assert.Equal(testCase.Source, actual); }
public void ShouldPerformBulkInsertWithManuallyConfiguredMapping(BulkInsertTestCase <Totals> testCase) { // When Totals[] actual; using (var connection = SqlConnectionsFactoryMethod()) { connection.Execute(@"create table #TestEntities (Id int identity(1, 1) not null, First int not null, Second int not null, Sum int not null)"); connection.BulkInsert( "#TestEntities", testCase.Source, x => x.WithProperty(entity => entity.First) .WithProperty(entity => entity.Second) .WithFunction(entity => entity.First + entity.Second, "Sum") ); actual = connection.Query <Totals>("select * from #TestEntities").ToArray(); } // Then Assert.True(testCase.Source.IsSame(actual)); }
public void ShouldPerformBulkInsertInExternalTransaction(BulkInsertTestCase <TestEntity> testCase) { // When TestEntity[] actual; using (var connection = SqlConnectionsFactoryMethod()) { connection.Execute(@"create table #TestEntities (Id int identity(1, 1) not null, Name nvarchar(max) not null, Value int not null)"); using (var transaction = connection.BeginTransaction()) { connection.BulkInsert("#TestEntities", testCase.Source, x => new StrictTypeMappingInfoProvider(typeof(TestEntity), x), transaction); transaction.Commit(); } actual = connection.Query <TestEntity>("select * from #TestEntities").ToArray(); } // Then Assert.Equal(testCase.Source, actual); }