質問: 複数のDbContextで共有されるInMemoryデータベース(ASP.NET Core)を使用することは可能ですか? UseInMemoryDatabaseに同じデータベース名が指定されている場合でも、各DbContext型は独自のデータベースを保持しているようです。
回答: 同じ名前で十分です。 DbContextのインスタンスがメモリDB内に同じものを「見」ていない場合は、異なる名前のものを使用しているようです。同じ名前のDbContextが一度作成されていることを確認してください。 `EF Core 2.0`は同じ名前のメモリデータベースでも再利用されます: > **インメモリデータベースの名前を付ける必要があります** > > 名前のないメモリ内のグローバルなデータベースは削除されており、代わりにすべてのメモリ内のデータベースに名前を付ける必要があります。例えば: > > ``` optionsBuilder.UseInMemoryDatabase("MyDatabase"); ``` > これは、 "MyDatabase"という名前のデータベースを作成または使用します。 **`UseInMemoryDatabase`が同じ名前で再度呼び出されると、同じインメモリ・データベースが使用され** 、複数のコンテキスト・インスタンスによって共有されます。 > >