0

내가이 개 프로젝트를 : 1 웹 API (ReportingApi) 2. 데이터 (ReportingApi.Data를)웹 API 프로젝트

Web Api는 연결되지 않습니다 내 데이터 프로젝트 app.config에 내 connectionstring의 duplicate 인 web.config에 연결 문자열이없는 클래스 라이브러리 (데이터) 프로젝트.

<connectionStrings> 
    <add name="ScriptsContext" connectionString="Data Source=SQLserverblah;Initial Catalog=blahdb;User ID=blah;Password=blah" providerName="System.Data.SqlClient" /> 
</connectionStrings> 

데이터 프로젝트 DbContext

public class ScriptsContext : DbContext 
{ 
    public DbSet<Question> Questions { get; set; } 

    protected override void OnModelCreating(DbModelBuilder modelBuilder) 
    { 
     Database.SetInitializer<ScriptsContext>(null); 
     modelBuilder.Entity<Question>().ToTable("Question", schemaName: "dbo"); 

    } 
} 
+0

데이터 프로젝트를 블랙 박스로 만들려고합니다. 따라서 웹 API에서 연결 문자열을 사용하는 것이 내게 맞지 않습니다. –

+0

https://stackoverflow.com/questions/23363718/where-to-write-the-connection -string-in-app-config-or-in-web-config –

답변

0

읽을 수있는 유일한 설정은 실행 프로젝트에 대한 설정입니다 있습니다. I.E. 당신은 웹 API 웹 사이트를 실행하고 있으며 config가 사용됩니다.

데이터 프로젝트를 블랙 박스로 만들려면 연결 문자열을 하드 코딩하거나 구성 이외의 소스에서 가져와야합니다.

이 이론을 테스트하려면 데이터 프로젝트에서 연결 문자열을 제거하고 여전히 웹 API를 시작할 수 있습니다. 데이터 프로젝트에서 연결 문자열이 필요한 유일한 이유는 Visual Studio 내에서 생성 된 코드 파일을 업데이트 할 수있는 Entity Framework와 같은 ORM을 사용하는 경우뿐입니다.

희망이 도움이됩니다.