2013-03-30 3 views
0

Entity 개체 (ADO.NET EF 개체)를 초기화하려고하는데 사용하려는 연결 문자열을 선택할 수 없습니다. 사용자에게 다른 액세스 수준을 부여하려면 연결 문자열을 변경해야합니다.Entity Framework 개체가 연결 문자열을 매개 변수로 전달할 수 없습니다.

매개 변수없는 생성자 인 엔터티 개체에는 재정의가 없습니다.

누구나 내게 어떤 조언을 해줄 수 있다면 감사하겠습니다. 당신은 당신을 위해 .edmx 파일을 생성하는 디자이너를 사용한 경우

답변

0

, 당신은 다음과 같은 것을해야합니다 :

public MyEntities() : base("name=MyEntities", "MyEntities") 
    { 
     this.ContextOptions.LazyLoadingEnabled = true; 
     OnContextCreated(); 
    } 

기본적으로이 의지, 구성 파일에서 연결 문자열을 얻을.

당신은 설정이 경우 연결 문자열이 먼저 설정에서 연결 문자열을 끌어 기본 생성자를 사용하는 것, 당신의 사용자 정의 버전으로 설정하지만 마음에

public partial class MyEntities 
    { 

    partial void OnContextCreated() 
    { 
     //Dynamically Building a Connection String 
     this.Connection.ConnectionString = "myconnectionstring";   
    } 
    } 

곰을 할 수있는 무엇 기본적으로 연결 문자열을 재정의합니다. 일반적으로 항상 기본 연결 문자열이 필요할 때 유용합니다.

public partial class MyEntities 
    { 
    public MyEntities(string connectionString) :   
    base(connectionString,"MyEntities")  
    { 

     this.OnContextCreated();  
    } 
    } 

는 이제 기본 클래스까지 연결 문자열을 전달하고 이것이다 : 아래 그림과 같이

또 다른 옵션은 좀 더 컨트롤을 원하는 경우는, 생성자를 통해에 연결 문자열을 전달하다 그것이 사용할 유일한 것입니다. 그러나 이것은 매번 이것을 제공해야 할 필요가 있음을 의미합니다.

호프가 도움이 되길 바랍니다 ...

+0

팁을 따랐습니다. 부분 클래스의 새 파일을 생성하고이 코드를 추가 : 한번 풀어주기 : 공공 부분 클래스 엔티티 { 베이스 (ConnectionString을) { } 공공 기관 (문자열 ConnectionString을)}을. –

관련 문제