Entity Framework でドメイン駆動設計を実装するために、Julie Lerman が TechEd North America 2013 ( http://channel9.msdn.com/Events/TechEd/NorthAmerica/2013/DEV-B336#fbid=4tnuPF6L-Jc ) で発表したアプローチを使用します。)。このアプローチでは、EF エンティティ クラスをドメイン クラスとして使用します。異なる境界付けられたコンテキストでは、ドメイン エンティティ クラスは異なるプロパティを持ち、異なる名前が付けられることさえありますが、データは同じテーブルに格納されます。例として、「顧客サービス」の境界コンテキスト内の顧客は、実際には「顧客」ですが、「配送」境界コンテキストでは、顧客プロパティのサブセットのみを持つ「受信者」です。境界付けられたコンテキストごとに、境界付けられたコンテキストが必要とするエンティティの DbSet のみを含む異なる EF コンテキストが存在します。OnModelCreating をオーバーライドすることで、境界付けられたコンテキストとは関係のない参照エンティティを除外することもできます。この部分は、POCO を使用して実装するのはかなり簡単です。
問題は、Code First を使用する場合のデータベースの作成です。Code First で異なる EF コンテキストごとにデータベースを作成すると、複数のデータベースが作成されます。EF コンテキストのコンストラクターでデータベース名を定義すると、データベースは最初に使用された EF コンテキストで作成され、2 番目の EF コンテキストが使用されると (エンティティが見つからない、プロパティが見つからないなど)、InvalidOperationException (モデルが変更されたことを示す) が発生します。以前は他の EF コンテキストになかったエンティティ/メンバーを使用する EF コンテキストが使用されている場合、移行を使用してデータベースを更新できる可能性があります。しかし、それは移行の通常の使用と間違いなく混同され、適切に機能しません。一時的な解決策として、データベースの作成のみに別の EF コンテキストを使用します。これは、この目的のためだけにすべての EF エンティティを再度実装する必要があることを意味します。
他の解決策があると確信しています。では、(ジュリー ) 方法を教えてください。