クリーンなアーキテクチャを備えたデータベースファーストのアプローチで、ASP.NETCoreとEntityFrameworkCoreを使用してRESTAPIを構築しています。
私のデータベースはすでにDBAチームによって作成および保守されています。そのため、データベースファーストのアプローチでEntity Framework Coreを使用する必要がありScaffold-DbContext
、インフラストラクチャレイヤーでコマンドを使用してリバースエンジニアリングを行う必要があります。
クリーンなアーキテクチャでは、エンティティをCore
インフラストラクチャレイヤーとは別のレイヤーに配置する必要があります。これにより、その方法DbContext
と、インターフェースとしての解決方法がわかります。
2つのオプションがあります。
EFへの依存関係を受け入れ、生成されたエンティティをコアプロジェクトに配置して、アーキテクチャをクリーンアップするための違反を受け入れます。
EFに依存せずにコアプロジェクトで独自のエンティティを作成し、リポジトリパターンを使用してエンティティとEFのエンティティを「マッピング」します。
代替案1はシンプルで安価です。代替案2は、EFからの独立性と、dbaチームへの抽象化を提供します。プロジェクトにとってより重要なものに基づいて選択してください。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加