2017-06-19 6 views
0

エンティティフレームワークとタマネギのアーキテクチャを使用して、Webサイトのメンテナンスと永続化を行っています。私は特定のオニオンアーキテクチャの例を踏襲今のように、私は終わった:エンティティフレームワーク構成ファイルのコンパイルエラー

  1. ドメイン(事業体、およびドメイン・インタフェース)
  2. リポジトリ(IRepo、およびレポなど...)
  3. サービス(設立(私はそれを正しく持っている場合)のSoCを尊重するUIとレポの間のリンク、など...)
  4. UI(私の場合はMVCプロジェクト)

は今、私は私のコンテキストからの私のEntity Frameworkのエンティティを分離しています。コンテキストがリポジトリに行くのに対し、エンティティは、ドメインに行きます。これは、(それが上位層である、したがって、それはタマネギのアーキテクチャに違反し、私は移行を有効にすると、configuration.csファイルがDomainに移行フォルダに追加されましたがDomainは依存関係はありませんので、今、私は私のコンテキストにアクセスできないことを意味しますルール(依存関係は外側に行くことはできません))。

  • マイグレーションフォルダをリポジトリに移動する必要がありますか?
  • 私はenable-migrationsをリポジトリに含める必要がありますか?
  • 私のconfiguration.csファイルは非常に薄いですが、それを守ることは必須ですか(これは疑問に思えますが、怠け者ですが、誰が知っていますか?)助けのための

ありがとう!

答えて

1

ドメインをすることができますので、できるだけ少ない依存関係を持つようになります。

  • 新しいプロジェクトを作成し、このプロジェクトにそこだけコンテキストとenable-migrationsを移動します。これを行うことで、リポジトリをコンテキストから切り離すことができます。
  • そのままにしておき、そしてあなたが言ったと同じように、リポジトリのプロジェクトでenable-migrationsを使用しています。

私はオニオンアーキテクチャプロジェクトの最初の選択肢を使用しています。

+0

ありがとう、私はコンテクストは 'Domain'と' Repository'の間のプロジェクトにあると思いますか? –

+1

はい、それは1つのオプションです。私はこれをこのように使用しています。 –

関連する問題