0

を接続文字列を望むエンティティフレームワークを持って、私は2つのプロジェクトがあります:1のWeb API(ReportingApi)2.データ(ReportingApi.Data)ウェブAPIプロジェクトは、両方のデータのみのプロジェクトで

Web Apiが接続ません。私のデータプロジェクトapp.configの私の接続文字列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. Web API Webサイトを実行しており、その設定が使用されています。

データプロジェクトをブラックボックスにする場合は、接続文字列をハードコードするか、設定以外のソースから取得する必要があります。

この理論をテストする場合は、データプロジェクトから接続文字列を削除してもWeb APIを起動できます。データプロジェクトで接続文字列が必要な唯一の理由は、Visual Studio内で生成されたコードファイルを更新するためのEntity FrameworkなどのORMを使用している場合です。

これが役に立ちます。

関連する問題