0

저는 Entity Framework를 사용하는 웹 응용 프로그램을 만들고 있습니다. 둘 이상의 소비자가 사용할 것이므로 엔티티 모델을 이동하여 별도의 프로젝트에 클래스를 생성했습니다.EF 연결 문자열을 한 번만 정의하고 다른 프로젝트에서 다시 사용하는 방법은 무엇입니까?

하지만 응용 프로그램을 실행하려고 할 때, 엔티티 프레임 워크가

No connection string named 'X' could be ofund in the application config file. 

이 문제를 제거하려면 하더군요, 나는 모든이 소요되는 프로젝트에 엔티티 프레임 워크 연결 문자열을 추가해야합니다. 물론 여러 소비자가 있기 때문에 이것은 성가신 일입니다. 그리고 소프트웨어를 다른 프로젝트로 나누어서 제거하기를 바랬던 꽉 조이는 것도 소개합니다.

그래서 모든 소비 프로젝트가 아닌 한 곳에서만 연결 문자열을 정의 할 수 있습니까?

참고 : 데이터베이스 우선 접근 방식을 따르고 있습니다.

답변

1

연결 문자열을 허용하는 constructor으로 컨텍스트를 인스턴스화 할 수 있기 때문에 가능합니다. 우리 프로젝트 중 하나에서 ContextFactory를 가지고 있는데, 연결 문자열은 시작시 한 번 등록됩니다. 어셈블리의 모든 코드는 공장에서 컨텍스트를 가져옵니다.

실제로 우리는 ObjectContext를 사용하여 등록 된 연결과 컨텍스트 생성시 생성 된 메타 데이터 문자열로부터 팩토리에 대한 연결 문자열을 생성합니다. 우리는 EntityConnectionStringBuilder을 사용하여이 작업을 수행합니다.