SqlBulkCopyColumnMappingCollection Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Kumpulan SqlBulkCopyColumnMapping objek yang mewarisi dari CollectionBase.
public ref class SqlBulkCopyColumnMappingCollection sealed : System::Collections::IList
public ref class SqlBulkCopyColumnMappingCollection sealed : System::Collections::CollectionBase
public sealed class SqlBulkCopyColumnMappingCollection : System.Collections.IList
public sealed class SqlBulkCopyColumnMappingCollection : System.Collections.CollectionBase
type SqlBulkCopyColumnMappingCollection = class
interface ICollection
interface IEnumerable
interface IList
type SqlBulkCopyColumnMappingCollection = class
inherit CollectionBase
Public NotInheritable Class SqlBulkCopyColumnMappingCollection
Implements IList
Public NotInheritable Class SqlBulkCopyColumnMappingCollection
Inherits CollectionBase
- Warisan
-
SqlBulkCopyColumnMappingCollection
- Warisan
- Penerapan
Contoh
Contoh berikut menyalin data secara massal dari tabel sumber di database sampel AdventureWorks ke tabel tujuan dalam database yang sama. Meskipun jumlah kolom di tujuan cocok dengan jumlah kolom di sumber, nama kolom dan posisi ordinal tidak cocok. SqlBulkCopyColumnMapping ditambahkan ke SqlBulkCopyColumnMappingCollection objek untuk SqlBulkCopy membuat peta kolom untuk salinan massal.
Important
Sampel ini tidak akan berjalan kecuali Anda telah membuat tabel kerja seperti yang dijelaskan dalam Penyiapan Contoh Salinan Massal. Kode ini disediakan untuk mendemonstrasikan sintaks untuk menggunakan SqlBulkCopy saja. Jika tabel sumber dan tujuan berada dalam instans SQL Server yang sama, lebih mudah dan lebih cepat untuk menggunakan pernyataan Transact-SQL INSERT ... SELECT untuk menyalin data.
using System.Data.SqlClient;
class Program
{
static void Main()
{
string connectionString = GetConnectionString();
// Open a sourceConnection to the AdventureWorks database.
using (SqlConnection sourceConnection =
new SqlConnection(connectionString))
{
sourceConnection.Open();
// Perform an initial count on the destination table.
SqlCommand commandRowCount = new SqlCommand(
"SELECT COUNT(*) FROM " +
"dbo.BulkCopyDemoDifferentColumns;",
sourceConnection);
long countStart = System.Convert.ToInt32(
commandRowCount.ExecuteScalar());
Console.WriteLine("Starting row count = {0}", countStart);
// Get data from the source table as a SqlDataReader.
SqlCommand commandSourceData = new SqlCommand(
"SELECT ProductID, Name, " +
"ProductNumber " +
"FROM Production.Product;", sourceConnection);
SqlDataReader reader =
commandSourceData.ExecuteReader();
// Set up the bulk copy object.
using (SqlBulkCopy bulkCopy =
new SqlBulkCopy(connectionString))
{
bulkCopy.DestinationTableName =
"dbo.BulkCopyDemoDifferentColumns";
// The column order in the source doesn't match the order
// in the destination, so ColumnMappings must be defined.
bulkCopy.ColumnMappings.Add("ProductID", "ProdID");
bulkCopy.ColumnMappings.Add("Name", "ProdName");
bulkCopy.ColumnMappings.Add("ProductNumber", "ProdNum");
// Write from the source to the destination.
try
{
bulkCopy.WriteToServer(reader);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
finally
{
// Close the SqlDataReader. The SqlBulkCopy
// object is automatically closed at the end
// of the using block.
reader.Close();
}
}
// Perform a final count on the destination
// table to see how many rows were added.
long countEnd = System.Convert.ToInt32(
commandRowCount.ExecuteScalar());
Console.WriteLine("Ending row count = {0}", countEnd);
Console.WriteLine("{0} rows were added.", countEnd - countStart);
Console.WriteLine("Press Enter to finish.");
Console.ReadLine();
}
}
private static string GetConnectionString()
// To avoid storing the sourceConnection string in your code,
// you can retrieve it from a configuration file.
{
return "Data Source=(local); " +
" Integrated Security=true;" +
"Initial Catalog=AdventureWorks;";
}
}
Imports System.Data.SqlClient
Module Module1
Sub Main()
Dim connectionString As String = GetConnectionString()
' Open a connection to the AdventureWorks database.
Using sourceConnection As SqlConnection = _
New SqlConnection(connectionString)
sourceConnection.Open()
' Perform an initial count on the destination table.
Dim commandRowCount As New SqlCommand( _
"SELECT COUNT(*) FROM dbo.BulkCopyDemoDifferentColumns;", _
sourceConnection)
Dim countStart As Long = _
System.Convert.ToInt32(commandRowCount.ExecuteScalar())
Console.WriteLine("Starting row count = {0}", countStart)
' Get data from the source table as a SqlDataReader.
Dim commandSourceData As SqlCommand = New SqlCommand( _
"SELECT ProductID, Name, ProductNumber " & _
"FROM Production.Product;", sourceConnection)
Dim reader As SqlDataReader = commandSourceData.ExecuteReader
' Set up the bulk copy object.
Using bulkCopy As SqlBulkCopy = New SqlBulkCopy(connectionString)
bulkCopy.DestinationTableName = _
"dbo.BulkCopyDemoDifferentColumns"
' The column order in the source doesn't match the order
' in the destination, so ColumnMappings must be defined.
bulkCopy.ColumnMappings.Add("ProductID", "ProdID")
bulkCopy.ColumnMappings.Add("Name", "ProdName")
bulkCopy.ColumnMappings.Add("ProductNumber", "ProdNum")
' Write from the source to the destination.
Try
bulkCopy.WriteToServer(reader)
Catch ex As Exception
Console.WriteLine(ex.Message)
Finally
' Close the SqlDataReader. The SqlBulkCopy
' object is automatically closed at the end
' of the Using block.
reader.Close()
End Try
End Using
' Perform a final count on the destination table
' to see how many rows were added.
Dim countEnd As Long = _
System.Convert.ToInt32(commandRowCount.ExecuteScalar())
Console.WriteLine("Ending row count = {0}", countEnd)
Console.WriteLine("{0} rows were added.", countEnd - countStart)
Console.WriteLine("Press Enter to finish.")
Console.ReadLine()
End Using
End Sub
Private Function GetConnectionString() As String
' To avoid storing the sourceConnection string in your code,
' you can retrieve it from a configuration file.
Return "Data Source=(local);" & _
"Integrated Security=true;" & _
"Initial Catalog=AdventureWorks;"
End Function
End Module
Keterangan
Pemetaan kolom menentukan pemetaan antara sumber data dan tabel target.
Jika pemetaan tidak ditentukan - yaitu, ColumnMappings koleksi kosong - kolom dipetakan secara implisit berdasarkan posisi ordinal. Agar ini berfungsi, skema sumber dan target harus cocok. Jika tidak, maka InvalidOperationException akan dilemparkan.
ColumnMappings Jika koleksi tidak kosong, tidak setiap kolom yang ada di sumber data harus ditentukan. Mereka yang tidak dipetakan oleh koleksi diabaikan.
Anda dapat merujuk ke kolom sumber dan target dengan nama atau ordinal. Anda dapat mencampur referensi kolom berdasarkan nama dan ordinal dalam koleksi pemetaan yang sama.
Properti
| Nama | Deskripsi |
|---|---|
| Capacity |
Mendapatkan atau mengatur jumlah elemen yang dapat dimuat CollectionBase. (Diperoleh dari CollectionBase) |
| Count |
Mendapatkan jumlah elemen yang terkandung dalam SqlBulkCopyColumnMappingCollection. |
| Count |
Mendapatkan jumlah elemen yang terkandung dalam CollectionBase instans. Properti ini tidak dapat ditimpa. (Diperoleh dari CollectionBase) |
| InnerList |
Mendapatkan yang ArrayList berisi daftar elemen dalam CollectionBase instans. (Diperoleh dari CollectionBase) |
| Item[Int32] |
Mendapatkan objek SqlBulkCopyColumnMapping pada indeks yang ditentukan. |
| List |
Mendapatkan yang IList berisi daftar elemen dalam CollectionBase instans. (Diperoleh dari CollectionBase) |
Metode
| Nama | Deskripsi |
|---|---|
| Add(Int32, Int32) |
Membuat baru SqlBulkCopyColumnMapping dan menambahkannya ke koleksi, menggunakan ordinal untuk menentukan kolom sumber dan tujuan. |
| Add(Int32, String) |
Membuat baru SqlBulkCopyColumnMapping dan menambahkannya ke koleksi, menggunakan ordinal untuk kolom sumber dan string untuk kolom tujuan. |
| Add(SqlBulkCopyColumnMapping) |
Menambahkan pemetaan yang ditentukan ke SqlBulkCopyColumnMappingCollection. |
| Add(String, Int32) |
Membuat baru SqlBulkCopyColumnMapping dan menambahkannya ke koleksi, menggunakan nama kolom untuk menjelaskan kolom sumber dan ordinal untuk menentukan kolom tujuan. |
| Add(String, String) |
Membuat baru SqlBulkCopyColumnMapping dan menambahkannya ke koleksi, menggunakan nama kolom untuk menentukan kolom sumber dan tujuan. |
| Clear() |
Menghapus isi koleksi. |
| Contains(SqlBulkCopyColumnMapping) |
Mendapatkan nilai yang menunjukkan apakah objek tertentu SqlBulkCopyColumnMapping ada dalam koleksi. |
| CopyTo(SqlBulkCopyColumnMapping[], Int32) |
Menyalin elemen SqlBulkCopyColumnMappingCollection ke array SqlBulkCopyColumnMapping item, dimulai pada indeks tertentu. |
| Equals(Object) |
Menentukan apakah objek yang ditentukan sama dengan objek saat ini. (Diperoleh dari Object) |
| GetEnumerator() |
Mengembalikan enumerator yang melakukan iterasi melalui koleksi. |
| GetEnumerator() |
Mengembalikan enumerator yang melakukan iterasi melalui CollectionBase instans. (Diperoleh dari CollectionBase) |
| GetHashCode() |
Berfungsi sebagai fungsi hash default. (Diperoleh dari Object) |
| GetType() |
Mendapatkan Type instans saat ini. (Diperoleh dari Object) |
| IndexOf(SqlBulkCopyColumnMapping) |
Mendapatkan indeks objek yang ditentukan SqlBulkCopyColumnMapping . |
| Insert(Int32, SqlBulkCopyColumnMapping) |
Sisipkan baru SqlBulkCopyColumnMapping pada indeks yang ditentukan. |
| MemberwiseClone() |
Membuat salinan dangkal dari Objectsaat ini. (Diperoleh dari Object) |
| OnClear() |
Melakukan proses kustom tambahan saat menghapus konten instans CollectionBase . (Diperoleh dari CollectionBase) |
| OnClearComplete() |
Melakukan proses kustom tambahan setelah menghapus konten instans CollectionBase . (Diperoleh dari CollectionBase) |
| OnInsert(Int32, Object) |
Melakukan proses kustom tambahan sebelum memasukkan elemen baru ke CollectionBase dalam instans. (Diperoleh dari CollectionBase) |
| OnInsertComplete(Int32, Object) |
Melakukan proses kustom tambahan setelah menyisipkan elemen baru ke CollectionBase dalam instans. (Diperoleh dari CollectionBase) |
| OnRemove(Int32, Object) |
Melakukan proses kustom tambahan saat menghapus elemen dari CollectionBase instans. (Diperoleh dari CollectionBase) |
| OnRemoveComplete(Int32, Object) |
Melakukan proses kustom tambahan setelah menghapus elemen dari CollectionBase instans. (Diperoleh dari CollectionBase) |
| OnSet(Int32, Object, Object) |
Melakukan proses kustom tambahan sebelum mengatur nilai dalam CollectionBase instans. (Diperoleh dari CollectionBase) |
| OnSetComplete(Int32, Object, Object) |
Melakukan proses kustom tambahan setelah menetapkan nilai dalam CollectionBase instans. (Diperoleh dari CollectionBase) |
| OnValidate(Object) |
Melakukan proses kustom tambahan saat memvalidasi nilai. (Diperoleh dari CollectionBase) |
| Remove(SqlBulkCopyColumnMapping) |
Menghapus elemen yang ditentukan SqlBulkCopyColumnMapping dari SqlBulkCopyColumnMappingCollection. |
| RemoveAt(Int32) |
Menghapus pemetaan pada indeks yang ditentukan dari koleksi. |
| ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |
Implementasi Antarmuka Eksplisit
| Nama | Deskripsi |
|---|---|
| ICollection.CopyTo(Array, Int32) |
Menyalin elemen ICollection ke Array, dimulai pada indeks tertentu Array . |
| ICollection.CopyTo(Array, Int32) |
Menyalin seluruh CollectionBase ke satu dimensi Arrayyang kompatibel , dimulai pada indeks array target yang ditentukan. (Diperoleh dari CollectionBase) |
| ICollection.IsSynchronized |
Mendapatkan nilai yang menunjukkan apakah akses ke ICollection disinkronkan (utas aman). |
| ICollection.IsSynchronized |
Mendapatkan nilai yang menunjukkan apakah akses ke CollectionBase disinkronkan (utas aman). (Diperoleh dari CollectionBase) |
| ICollection.SyncRoot |
Mendapatkan objek yang dapat digunakan untuk menyinkronkan akses ke ICollection. |
| ICollection.SyncRoot |
Mendapatkan objek yang dapat digunakan untuk menyinkronkan akses ke CollectionBase. (Diperoleh dari CollectionBase) |
| IList.Add(Object) |
Menambahkan item ke IList. |
| IList.Add(Object) |
Menambahkan objek ke akhir CollectionBase. (Diperoleh dari CollectionBase) |
| IList.Contains(Object) |
Menentukan apakah IList berisi nilai tertentu. |
| IList.Contains(Object) |
Menentukan apakah CollectionBase berisi elemen tertentu. (Diperoleh dari CollectionBase) |
| IList.IndexOf(Object) |
Menentukan indeks item tertentu di IList. |
| IList.IndexOf(Object) |
Mencari Object yang ditentukan dan mengembalikan indeks berbasis nol dari kemunculan pertama dalam seluruh CollectionBase. (Diperoleh dari CollectionBase) |
| IList.Insert(Int32, Object) |
Menyisipkan item ke IList pada indeks yang ditentukan. |
| IList.Insert(Int32, Object) |
Menyisipkan elemen ke dalam CollectionBase pada indeks yang ditentukan. (Diperoleh dari CollectionBase) |
| IList.IsFixedSize |
Mendapatkan nilai yang menunjukkan apakah IList memiliki ukuran tetap. |
| IList.IsFixedSize |
Mendapatkan nilai yang menunjukkan apakah CollectionBase memiliki ukuran tetap. (Diperoleh dari CollectionBase) |
| IList.IsReadOnly |
Mendapatkan nilai yang menunjukkan apakah IList bersifat baca-saja. |
| IList.IsReadOnly |
Mendapatkan nilai yang menunjukkan apakah CollectionBase bersifat baca-saja. (Diperoleh dari CollectionBase) |
| IList.Item[Int32] |
Mendapatkan atau mengatur elemen pada indeks yang ditentukan. |
| IList.Item[Int32] |
Mendapatkan atau mengatur elemen pada indeks yang ditentukan. (Diperoleh dari CollectionBase) |
| IList.Remove(Object) |
Menghapus kemunculan pertama objek tertentu dari IList. |
| IList.Remove(Object) |
Menghapus kemunculan pertama objek tertentu dari CollectionBase. (Diperoleh dari CollectionBase) |
Metode Ekstensi
| Nama | Deskripsi |
|---|---|
| AsParallel(IEnumerable) |
Mengaktifkan paralelisasi kueri. |
| AsQueryable(IEnumerable) |
Mengonversi IEnumerable menjadi IQueryable. |
| Cast<TResult>(IEnumerable) |
Melemparkan elemen IEnumerable ke jenis yang ditentukan. |
| OfType<TResult>(IEnumerable) |
Memfilter elemen IEnumerable berdasarkan jenis tertentu. |