2017-04-03 5 views
0

DAL 라이브러리를 호출하는 웹 API 응용 프로그램이 있습니다. DAL 라이브러리는 Entity Framework를 사용하여 SQL 데이터베이스와 상호 작용합니다. 이제 웹 API 프로젝트에서 데이터베이스에 대한 연결 문자열을 설정해야합니다. 웹 API 프로젝트에도 EF를 설치해야합니다. EF를 설치하지 않고 웹 API 프로젝트에서 연결 문자열을 설정할 수있는 방법이 있습니까?Entity Framework를 사용하는 DAL 호출

+1

하나의 해결책은 웹 구성 파일에 EF 구성을 추가 한 다음 웹 API 프로젝트의 DAL 프로젝트에서 EF dll을 참조하는 것입니다. –

+0

예, 나는 그것을 피하기를 바랬습니다. –

답변

0

내 웹 API 프로젝트에서 EF에서 사용한 것과 동일한 연결 문자열을 사용하고 있습니다. 웹 API 프로젝트에서 EntityFramework.SqlServer.dll을 참조했습니다. 그리고 지금, 그것은 작동합니다.

0

DbContext를 랩핑하면 DAL 프로젝트가 EF 관련 구성 요소를 노출시키지 않습니다. 이렇게함으로써 당신은 당신의 DAL 프로젝트를 참조하는 모든 프로젝트에 EF를 설치할 필요가 없습니다. 등 당신의 저장소만큼

public class DataContextWrapper : IDisposable { 
    public DataContextWrapper() { 
     DataContext = new DataContext(); 
    } 

    internal DataContext DataContext { get; private set; } 

    public void Dispose() { 
     DataContext.Dispose(); 
    } 
} 

를 DAL 프로젝트에 또한 그들은 데이터베이스 엔티티하지만 모델을 반환하지 않습니다, 너 괜찮을거야.

+0

감사합니다. 이것은 내가 한 일입니다. 웹 API 프로젝트의 연결 문자열은 어떤 모양이어야합니까? –

+0

구성에 대한 자세한 내용은 다음 링크를 참조하십시오. https://msdn.microsoft.com/en-us/library/jj556606(v=vs.113).aspx – Viezevingertjes