典型的な.NET 4.5X Webアプリケーション構造には、Webプロジェクト(.NET Webアプリケーション)、ドメイン/ビジネスロジックプロジェクト(aクラスライブラリ)、データアクセスプロジェクト(クラスライブラリ)があります。 Webプロジェクトはビジネスレイヤを参照し、ビジネスレイヤはデータアクセスレイヤを参照します。データアクセス層を持つ3層のdotnetコアアプリケーションを整理する
私のWebプロジェクトはデータアクセスプロジェクトへの参照を持っていないので、私はこのアプローチが好きです(ドメイン/ビジネスロジックレイヤーを最初に通過する必要があります)。私のWebプロジェクトは、コンテキストクラスまたはリポジトリクラスにアクセスするべきではありません。
3層のネット4.5.Xアプリでは、web.configに接続文字列を宣言し、DbContextの名前を接続文字列の名前属性として指定します。新しいDOTNETコアパラダイムで
、私が見るすべての例では、DbContextはこのようStartup.csで構成されています:dbcontextに使用するスタートアップに具体的なクラスを与えることによって
public void ConfigureServices(IServiceCollection services)
{
// Add framework services.
services.AddMvc();
services.AddEntityFramework()
.AddSqlServer()
.AddDbContext<MyApplicationContext>("myconnectionstring or reference to it");
}
、私が参照する必要がありますdbcontextが定義されているデータアクセスプロジェクト。中間層のみを参照し、DALへの参照を避けることをお勧めします。
質問:自分のWebプロジェクトからデータアクセスプロジェクトへの参照を追加しないように、私のソリューション構造をどのように整理すればよいですか?
appsettings.jsonプロパティを使用できますか?
エンティティの設定を別の方法で追加できますか?
dot net coreについて私が迷っているメジャーはありますか?
ありがとうございます。
この回答は有用であり、Web層のEFリファレンスを削除します。http://stackoverflow.com/a/38360204/1544886 –