コード例 #1
0
        public void InsertManyItems()
        {
            IEnumerable <Item> data = GetData();

            using (var reader = new EnumerableDataReader <Item>(data, new string[] { "Id", "Name" }))
            {
                using (var bulkInsert = new SqlServerBulkInsert("connection string"))
                {
                    bulkInsert.Insert(reader);
                }
            }
        }
コード例 #2
0
 public void ThrowInvalidOperationExceptionWhenColumnDoesNotExistInDestinationTable()
 {
     using (IBulkActionDataReader reader = CreateDataSourceWithNonExistingColumn())
     {
         using (SqlServerBulkInsert bulkInsert = new SqlServerBulkInsert(ServerHelper.Connection))
         {
             bulkInsert.DestinationTableName = TableName_IgnoreCaseInColumnNames;
             Action action = () => bulkInsert.Insert(reader);
             action.ShouldThrow <InvalidOperationException>()
             .WithMessage($"*{TableName_IgnoreCaseInColumnNames}*{nameof(NonExistingColumnDataItem.NonExistingColumn)}*");
         }
     }
 }
コード例 #3
0
        public void BulkInsertDataFromDataTable()
        {
            DataTable expectedData = CreateDataTableDataSource();
            DataTable actualData   = null;

            using (SqlServerBulkInsert bulkInsert = new SqlServerBulkInsert(ServerHelper.Connection))
            {
                bulkInsert.DestinationTableName = TableName;
                bulkInsert.Insert(expectedData);
            }
            actualData = LoadData(ServerHelper.Connection, TableName);

            SqlServerBulkHelper.CompareTables(actualData, expectedData);
        }
コード例 #4
0
        public void BulkInsertDataFromIDataReaderIgnoreCaseInColumnNames()
        {
            DataTable expectedData = CreateDataTableDataSource(false);
            DataTable actualData   = null;

            using (IBulkActionDataReader reader = CreateIDataReaderDataSource(false))
            {
                using (SqlServerBulkInsert bulkInsert = new SqlServerBulkInsert(ServerHelper.Connection))
                {
                    bulkInsert.DestinationTableName = TableName_IgnoreCaseInColumnNames;
                    bulkInsert.Insert(reader);
                }
                actualData = LoadData(ServerHelper.Connection, TableName_IgnoreCaseInColumnNames);
            }

            SqlServerBulkHelper.CompareTables(actualData, expectedData);
        }
コード例 #5
0
        public void BulkInsertDataFromIDataReaderShortText()
        {
            DataTable expectedData = CreateDataTableShortText();
            DataTable actualData   = null;

            using (IBulkActionDataReader reader = CreateIDataReaderShortText())
            {
                using (SqlServerBulkInsert bulkInsert = new SqlServerBulkInsert(ServerHelper.Connection))
                {
                    bulkInsert.DestinationTableName = TableName_PrimitiveDataTypes;
                    bulkInsert.Insert(reader);
                }
                actualData = LoadData(ServerHelper.Connection, TableName_PrimitiveDataTypes);
            }

            SqlServerBulkHelper.CompareTables(actualData, expectedData);
        }
コード例 #6
0
        private void BulkInsertDataFromIBulkActionDataReaderCore()
        {
            DataTable expectedData = CreateDataTableDataSource();
            DataTable actualData   = null;

            using (IBulkActionDataReader reader = CreateIDataReaderDataSource(true))
            {
                using (SqlServerBulkInsert bulkInsert = new SqlServerBulkInsert(ServerHelper.Connection))
                {
                    bulkInsert.DestinationTableName = TableName;
                    bulkInsert.Insert(reader);
                }
                actualData = LoadData(ServerHelper.Connection, TableName);
            }

            SqlServerBulkHelper.CompareTables(actualData, expectedData);
        }
コード例 #7
0
        public void BulkInsertDataFromIDataReaderSynchronouslyWithoutDeadLock()
        {
            AsyncContext.Run(() =>
            {
                DataTable expectedData = CreateDataTableDataSource();
                DataTable actualData   = null;

                using (IDataReader reader = expectedData.CreateDataReader())
                {
                    using (SqlServerBulkInsert bulkInsert = new SqlServerBulkInsert(ServerHelper.Connection))
                    {
                        bulkInsert.DestinationTableName = TableName;
                        bulkInsert.Insert(reader);
                    }
                    actualData = LoadData(ServerHelper.Connection, TableName);
                }

                SqlServerBulkHelper.CompareTables(actualData, expectedData);
            });
        }