두 가지 모델을 만들 수 있습니다. 하나는 데이터베이스 이름을 제공하는 테이블을 포함하는 데이터베이스이고 다른 하나는 다른 데이터베이스를위한 테이블입니다.
db 첫 번째 방법을 사용하는 경우 컨텍스트 개체가 기본 연결 문자열로 만들어집니다. 이 부분 클래스이므로 런타임에 당신이 첫번째 상황에서 가져온 서버/데이터베이스의 연결 문자열을 전달합니다 곳입니다
public partial class MyContext
{
public MyContext(string nameOrConnectionString) : base(nameOrConnectionString)
}
...과 같이 연결 문자열을 가지고 그것을 확장 할 수 있습니다. 이런 식으로 뭔가는 ... 모양을
...
using(var dbNameContext = new DatabaseNameContext())
{
var dbName = dbNameContext.DBNames.FirstOrDefault(dbn => dbn.Name == "db1");
var connectionString = "metadata=res://*/Database..." + dbName.Name;
using(var dbContexts = new MyContext(connectionString))
{
var MyDataList = dbContexts.Data.ToList();
}
}
은 물론 연결 문자열이 자신처럼되고 수정하고 연결 문자열에 속하는 DBNAME을 배치해야합니다 것입니다.
모델이 정확하도록 다른 데이터베이스에있는 서로 다른 테이블을 모두 동일하게 유지할 계획을 가지고 있어야합니다. 그렇지 않으면 RTE가 생깁니다.
컨텍스트 팩토리 메서드와 비슷하게 들립니다 (초기 열 값을 가져와 결과에 따라 컨텍스트를 반환 함). –
두 컨텍스트 모두 동일한 모델을 사용합니까? – Shoe
브래드 크리스티 (Brad Christie) - 자세히 설명해 주시겠습니까? 나는이 기술에 상당히 새롭다. – user1143687