EntityConnection.ConnectionString 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
EntityConnection 연결 문자열을 가져오거나 설정합니다.
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
속성 값
데이터 원본에 대한 초기 연결을 설정하는 데 필요한 연결 문자열입니다. 기본값은 빈 문자열입니다. 연결이 닫힌 경우에는 현재 설정된 값이 반환되고, 값을 지정하지 않은 경우에는 빈 문자열이 반환됩니다.
예외
EntityConnection의 MetadataWorkspace가 초기화된 후 ConnectionString 속성을 설정하려고 한 경우. MetadataWorkspace는 EntityConnection 인스턴스가 MetadataWorkspace를 매개 변수로 사용하는 오버로드를 통해 생성되거나 EntityConnection 인스턴스가 열렸을 때 초기화됩니다.
잘못된 연결 문자열 키워드를 제공했거나 필요한 연결 문자열 키워드를 제공하지 않은 경우
예제
다음 예제에서는 EntityConnectionStringBuilder와 SqlConnectionStringBuilder를 함께 사용하는 방법을 보여 줍니다. 속성을 설정 하는 코드를 SqlConnectionStringBuilder
만들려면는 SqlConnection 기본 공급자 연결 문자열의 일부를 제공 하는 문자열입니다. 합니다 Provider
이름을 사용 하 여 설정할 수 없습니다 합니다 SqlConnectionStringBuilder
잘못 사용 되지 않으므로, SqlConnection
구문입니다. 코드는 만듭니다는 EntityConnection 문자열을 설정 하 여 EntityConnectionStringBuilder
속성입니다.
// 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
설명
EntityClient
문자열 세미콜론으로 구분 된 키워드/값 매개 변수 쌍의 시퀀스를 구성 합니다. 각 키워드와 해당 값은 등호(=)로 연결됩니다. 다음 표에는 ConnectionString에 포함되는 키워드 값의 올바른 이름이 정리되어 있습니다.
키워드 | 설명 |
---|---|
Provider |
Name 키워드를 지정하지 않은 경우에 필요합니다. 기본 공급자의 DbProviderFactory 개체를 검색하는 데 사용되는 공급자 이름입니다. 이 값은 상수입니다.경우는 Name 키워드는 비어 있지 않은 값에 대 한 연결 문자열에 포함 되지 않습니다는 Provider 키워드를 사용 합니다. 이 키워드는 Name 키워드와 함께 사용할 수 없습니다. |
Provider Connection String |
선택 사항입니다. 기본 데이터 소스에 전달되는 공급자별 연결 문자열을 지정합니다. 이 연결 문자열은 데이터 공급자의 유효한 키워드/값 쌍을 사용하여 표현됩니다.
Provider Connection String 이 올바르지 않으면 데이터 소스에서 해당 문자열을 평가할 때 런타임 오류가 발생합니다.이 키워드는 Name 키워드와 함께 사용할 수 없습니다.Provider Connection String 의 값은 따옴표로 묶어야 합니다. 다음은 이에 대한 예입니다.Provider Connection String ="Server=serverName; User ID = userID"; 다음은 잘못된 예입니다. Provider Connection String =Server=serverName; User ID = userID |
Metadata |
Name 키워드를 지정하지 않은 경우에 필요합니다. 디렉터리, 파일 및 리소스 위치를 모델 및 매핑 정보를 검색할에 파이프로 구분 된 목록입니다. 다음은 이에 대한 예입니다.Metadata= c:\model | c:\model\sql\mapping.msl; 파이프 구분 기호 양쪽의 공백은 무시됩니다. 이 키워드는 Name 키워드와 함께 사용할 수 없습니다. |
Name |
애플리케이션에서는 필수 키워드/값 연결 문자열 값을 제공하는 애플리케이션 구성 파일에 연결 이름을 선택적으로 지정할 수 있습니다. 이 경우에는 연결 문자열에 이름을 직접 지정할 수 없습니다.
Name 키워드는 구성 파일에 사용할 수 없습니다.Name 키워드가 엔터티 연결 문자열에 포함되어 있지 않은 경우 Provider 키워드에 대해 비어 있지 않은 값이 필요합니다.이 키워드는 다른 모든 연결 문자열 키워드와 함께 사용할 수 없습니다. |
애플리케이션에 키워드/값에 직접 제공할 수는 ConnectionString 속성 또는에 대 한 값을 지정할 수는 Name
키워드입니다. 경우는 Name
키워드를 지정한 경우 연결 문자열 키워드/값은 다음과 같이 애플리케이션 구성 파일에서 검색 됩니다.
Name=AdventureWorksEntities;
경우는 Name
키워드가 사용 되는 ConnectionString 속성을 다른 키워드 허용 되지 않습니다.
Name
키워드를 명명된 된 연결 문자열에 저장 된 참조는 connectionStrings
다음 예와에서 같이 애플리케이션 구성 파일 섹션. 합니다 Provider
, Metadata
, 및 Provider Connection String
값은 런타임에 구성 파일에서 검색 됩니다.
다음 예제와 같이 키워드/값 쌍을 ConnectionString 속성에 직접 지정할 수도 있습니다. 이 경우에 Name
키워드가 사용 되지 않습니다.
"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' "
실수로 System.Data.Common.CommandTrees 및 ObjectContext 같은 개체가 해당 메타데이터와 비동기화되지 않도록 방지하려면 EntityConnection에서 메타데이터를 잠가야 합니다. 메타데이터가 잠긴 후에는 연결 문자열을 변경할 수 없습니다. 메타데이터가 잠기는 두 가지 시나리오는 다음과 같습니다.
EntityConnection instance 매개 변수가 없는 생성자를 통해 생성되거나 연결 문자열 허용하는 생성자를 통해 EntityConnection(String) 생성됩니다. 어느 경우든 연결이 열리기 이전에 연결 문자열이 여러 번 변경될 수 있습니다. Open 또는 GetMetadataWorkspace를 호출하면 메타데이터가 잠깁니다.
EntityConnection 인스턴스가 EntityConnection(MetadataWorkspace, DbConnection) 및 MetadataWorkspace을 허용하는 DbConnection 생성자를 통해 생성됩니다. 이 경우 메타데이터는 생성 시에 잠기므로 연결 문자열을 절대 변경할 수 없습니다.
메타데이터가 로드되면 EntityConnection은 개념적 모델, 스토리지 모델 및 매핑 파일이 모두 있는지 확인합니다.
적용 대상
추가 정보
.NET