Bagikan melalui


EntityConnection.ConnectionString Properti

Definisi

Mendapatkan atau mengatur EntityConnection string koneksi.

public:
 virtual property System::String ^ ConnectionString { System::String ^ get(); void set(System::String ^ value); };
public override string ConnectionString { get; set; }
member this.ConnectionString : string with get, set
Public Overrides Property ConnectionString As String

Nilai Properti

string koneksi diperlukan untuk membuat koneksi awal ke sumber data. Nilai default-nya adalah untaian kosong. Pada koneksi tertutup, nilai yang saat ini ditetapkan dikembalikan. Jika tidak ada nilai yang ditetapkan, string kosong akan dikembalikan.

Pengecualian

Upaya dilakukan untuk mengatur ConnectionString properti setelah EntityConnectionMetadataWorkspace properti diinisialisasi. MetadataWorkspace diinisialisasi baik ketika EntityConnection instans dibangun melalui kelebihan beban yang mengambil MetadataWorkspace sebagai parameter, atau ketika EntityConnection instans telah dibuka.

Kata kunci string koneksi tidak valid telah disediakan atau kata kunci string koneksi yang diperlukan belum disediakan.

Contoh

Contoh berikut menunjukkan cara menggunakan EntityConnectionStringBuilder bersama dengan SqlConnectionStringBuilder. Kode menetapkan properti dari SqlConnectionStringBuilder untuk membuat SqlConnection string yang memasok bagian dari penyedia yang mendasar string koneksi. Perhatikan bahwa Provider nama tidak dapat diatur dengan menggunakan SqlConnectionStringBuilder, karena tidak menggunakan sintaks yang valid SqlConnection . Kode membuat EntityConnection string dengan mengatur EntityConnectionStringBuilder properti.


// Specify the provider name, server and database.
string providerName = "System.Data.SqlClient";
string serverName = ".";
string databaseName = "AdventureWorks";

// Initialize the connection string builder for the
// underlying provider.
SqlConnectionStringBuilder sqlBuilder =
    new SqlConnectionStringBuilder();

// Set the properties for the data source.
sqlBuilder.DataSource = serverName;
sqlBuilder.InitialCatalog = databaseName;
sqlBuilder.IntegratedSecurity = true;

// Build the SqlConnection connection string.
string providerString = sqlBuilder.ToString();

// Initialize the EntityConnectionStringBuilder.
EntityConnectionStringBuilder entityBuilder =
    new EntityConnectionStringBuilder();

//Set the provider name.
entityBuilder.Provider = providerName;

// Set the provider-specific connection string.
entityBuilder.ProviderConnectionString = providerString;

// Set the Metadata location.
entityBuilder.Metadata = @"res://*/AdventureWorksModel.csdl|
                            res://*/AdventureWorksModel.ssdl|
                            res://*/AdventureWorksModel.msl";
Console.WriteLine(entityBuilder.ToString());

using (EntityConnection conn =
    new EntityConnection(entityBuilder.ToString()))
{
    conn.Open();
    Console.WriteLine("Just testing the connection.");
    conn.Close();
}
' Specify the provider name, server and database.
Dim providerName As String = "System.Data.SqlClient"
Dim serverName As String = "."
Dim databaseName As String = "AdventureWorks"

' Initialize the connection string builder for the
' underlying provider.
Dim sqlBuilder As New SqlConnectionStringBuilder

' Set the properties for the data source.
sqlBuilder.DataSource = serverName
sqlBuilder.InitialCatalog = databaseName
sqlBuilder.IntegratedSecurity = True

' Build the SqlConnection connection string.
Dim providerString As String = sqlBuilder.ToString

' Initialize the EntityConnectionStringBuilder.
Dim entityBuilder As New EntityConnectionStringBuilder

'Set the provider name.
entityBuilder.Provider = providerName
' Set the provider-specific connection string.
entityBuilder.ProviderConnectionString = providerString
' Set the Metadata location to the current directory.
entityBuilder.Metadata = "res://*/AdventureWorksModel.csdl|" & _
                            "res://*/AdventureWorksModel.ssdl|" & _
                            "res://*/AdventureWorksModel.msl"

Console.WriteLine(entityBuilder.ToString)

Using conn As EntityConnection = New EntityConnection(entityBuilder.ToString)
    conn.Open()
    Console.WriteLine("Just testing the connection.")
    conn.Close()
End Using

Keterangan

EntityClient String koneksi terdiri dari urutan pasangan parameter kata kunci/nilai yang dipisahkan oleh titik koma. Tanda sama dengan (=) menghubungkan setiap kata kunci dan nilainya. Tabel berikut ini mencantumkan nama yang valid untuk nilai kata kunci di ConnectionString.

Kata kunci Deskripsi
Provider Diperlukan jika kata kunci Name tidak ditentukan. Nama penyedia, yang digunakan untuk mengambil objek DbProviderFactory untuk penyedia yang mendasarinya. Nilai ini bersifat konstan.

Name Ketika kata kunci tidak disertakan dalam string koneksi, nilai tidak kosong untuk Provider kata kunci diperlukan. Kata kunci ini saling eksklusif dengan kata kunci Name.
Provider Connection String Opsional. Menentukan string koneksi khusus penyedia yang diteruskan ke sumber data yang mendasarinya. String koneksi ini dinyatakan dengan menggunakan pasangan kata kunci/nilai yang valid untuk penyedia data. Provider Connection String yang tidak valid akan menyebabkan kesalahan run-time saat dievaluasi oleh sumber data.

Kata kunci ini saling eksklusif dengan kata kunci Name.

Nilai Provider Connection String harus dikelilingi oleh tanda kutip. Berikut ini adalah contohnya:

Provider Connection String ="Server=serverName; User ID = userID";

Contoh berikut tidak akan berfungsi:

Provider Connection String =Server=serverName; User ID = userID
Metadata Diperlukan jika kata kunci Name tidak ditentukan. Daftar direktori, file, dan lokasi sumber daya yang dibatasi pipa untuk mencari informasi model dan pemetaan. Berikut ini adalah contohnya:

Metadata=

c:\model | c:\model\sql\mapping.msl;

Ruang kosong di setiap sisi pemisah pipa diabaikan.

Kata kunci ini saling eksklusif dengan kata kunci Name.
Name Aplikasi ini dapat secara opsional menentukan nama koneksi dalam file konfigurasi aplikasi yang menyediakan nilai string koneksi kata kunci/nilai yang diperlukan. Dalam hal ini, Anda tidak dapat memasoknya langsung di string koneksi. Kata kunci Name tidak diperbolehkan dalam file konfigurasi.

Saat kata kunci Name tidak disertakan dalam string koneksi entitas, maka dibutuhkan nilai yang tidak kosong untuk kata kunci Penyedia.

Kata kunci ini saling eksklusif dengan semua kata kunci string koneksi lainnya.

Aplikasi dapat menyediakan kata kunci/nilai langsung di ConnectionString properti , atau dapat menentukan nilai untuk Name kata kunci. Name Jika kata kunci ditentukan, kata kunci/nilai string koneksi diambil dari file konfigurasi aplikasi, sebagai berikut:

Name=AdventureWorksEntities;

Name Jika kata kunci digunakan dalam ConnectionString properti , kata kunci lain tidak diizinkan. Kata Name kunci mengacu pada string koneksi bernama yang disimpan di bagian connectionStrings dalam file konfigurasi aplikasi, seperti yang ditunjukkan dalam contoh berikut. Nilai Provider, Metadata, dan Provider Connection String diambil dari file konfigurasi pada durasi.

Pasangan kata kunci/nilai juga dapat disediakan langsung di ConnectionString properti , seperti yang ditunjukkan dalam contoh berikut. Dalam hal ini, Name kata kunci tidak digunakan.

"Provider=System.Data.SqlClient;
Metadata=c:\metadata|c:\Metadata\Sql;
Provider Connection String= 'Data Source=localhost;
    Initial Catalog=AdventureWorks;Integrated Security=True;Connection Timeout=60' "

Untuk menghindari secara tidak sengaja menempatkan objek seperti System.Data.Common.CommandTrees dan ObjectContext tidak sinkron dengan metadatanya, EntityConnection harus mengunci metadatanya. Tidak ada perubahan pada string koneksi yang diizinkan setelah metadata dikunci. Berikut ini adalah dua skenario di mana metadata dikunci:

Ketika metadata dimuat, EntityConnection memverifikasi bahwa model konseptual, model penyimpanan, dan file pemetaan semuanya ada.

Berlaku untuk

Lihat juga