質問: EFコア1.1およびSQL Server 2016 独立したテーブルをいくつか持つマイクロサービスでマイクロサービスアプリケーションを実行しています。個々のマイクロサービス用に多数のテーブルを持つソリューションの1つは、これらのサービスに一意のスキーマ(DBOではなく)を与え、それらをすべて1つのデータベースに格納することです(コストとメンテナンスに適しています)。 それはEF 6でうまく動作しますが、生成されたdbo .__ EFMigrationsHistoryをコアで見ると、コアがスキーマを考慮しないように見えます。 私は、EFコアでの移行がDBではなくコードを見るように変更されたことを認識していますが、私の問題はdboに**記録さ**れたバージョンです.__ EFMigrationsHistoryテーブルはスキーマに依存しません。 EFコアは、データベースへの移行を書き込むときに、どのようにしてスキーマを認識できるのですか? NB `builder.HasDefaultSchema(Constants.SCHEMA);`すでにDBContextに設定されています。
回答: `builder.HasDefaultSchema()`は、モデルのスキーマを設定するために使用されます。 MigrationHistoryテーブルのビット構成が異なります。あなたはそれについてもっと読むことができます このリンクから、 > 最も単純なシナリオは、テーブル名またはスキーマを変更したい場合です。これは、OnConfiguring(またはASP.NET CoreのConfigureServices)でMigrationsHistoryTableメソッドを使用して行うことができます。ここに例があります。 > > ``` protected override void OnConfiguring(DbContextOptionsBuilder options) => options.UseSqlServer( connectionString, x => x.MigrationsHistoryTable("__MyMigrationsHistory", "mySchema")); ```