0

저는 엔터티 프레임 워크를 사용하고 있으며 작업 할 여러 데이터베이스가 있습니다. 서로 다른 사용자가 다른 데이터베이스에 연결하기를 바랍니다. web.config의 연결 문자열에 다음과 같이 표시됩니다. 내가 자동차에서여러 연결 문자열로 작업하는 엔터티 프레임 워크 vb.net

<add name="ADBEntities" connectionString="metadata=res://EF_DAL;provider=Oracle.ManagedDataAccess.Client;provider connection string=&quot;data source=pc:15/xe;password=l;user id=l&quot;" providerName="System.Data.EntityClient" /> 
<add name="BDBEntities" connectionString="metadata=res://EF_DAL;provider=Oracle.ManagedDataAccess.Client;provider connection string=&quot;data source=pc:15/xe;password=2;user id=2&quot;" providerName="System.Data.EntityClient" /> 

다음은 내가하고 싶은 것을

Partial Public Class DBEntities 
    Inherits DbContext 

    Public Sub New() 
     MyBase.New("name=DBEntities") 
    End Sub 

를 생성 한 사용자가 다른 데이터베이스에 연결해야 할 수 있습니다, model1.context.vb에서 파일을 생성. 나는 부분 수업 인 것을 알아 냈다. 나는 인수에 소요되는) DBEntities이 새가없는 becos 그러나 물론이 (작동하지 않습니다이

Partial Public Class DALEntities 
    Inherits DBEntities 

    Private Sub New(nameOfConnectionString As String) 
     MyBase.New(nameOfConnectionString) 
    End Sub 
End Class 

같은 다른 클래스를 만들려고. 자동 생성 프로세스의 설정을 편집하거나 프로그램 적으로이 문제를 극복하여이를 극복 할 수있는 방법이 있습니까?

답변

0

자동 생성 클래스 대신 DbContext에서 직접 상속하는 클래스를 만들면됩니다.

여기서는 각 연결 문자열에서 참조하는 데이터베이스 스키마가 동일하다고 가정합니다. 그렇지 않다면 모델에 관한 한 할 일이 조금 더있을 것입니다.

0

은 별도의 클래스에서이 메소드를 선언하는 것은 나

부분 Public 클래스 DBEntities

Private Sub New(nameOfConnectionString As String) 
    MyBase.New(nameOfConnectionString) 
End Sub 

최종 클래스

의 트릭을했던 것 같다