2017-04-03 12 views
0

DALライブラリを呼び出すWeb APIアプリケーションがあります。 DALライブラリは、Entity Frameworkを使用してSQLデータベースと対話します。今、Web APIプロジェクトのデータベースに接続文字列を設定する必要があります。これにはWeb APIプロジェクトにもEFをインストールする必要があります。 EFをインストールせずにWeb APIプロジェクトで接続文字列を設定できる方法はありますか?Entity Frameworkを使用するDALの呼び出し

+1

解決策の1つは、Web設定ファイルにEF設定を追加してから、Web APIプロジェクトのDALプロジェクトからEF dllを参照することです。 –

+0

はい、私はそれを避けることを望んでいました。 –

答えて

0

ウェブAPIプロジェクトでEFで使用されているのと同じ接続文字列を使用しています。 Web 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

ありがとうございます。これはまさに私がやったことです。 Web APIプロジェクトの接続文字列はどのように表示されるべきですか? –

+0

構成の詳細については、次のリンクを参照してください。https://msdn.microsoft.com/en-us/library/jj556606(v=vs.113).aspx – Viezevingertjes

関連する問題