EF Core 1.1 e SQL Server 2016
Stiamo eseguendo un'applicazione di microservizio con alcuni microservizi con poche tabelle indipendenti. Una delle soluzioni per avere molte tabelle per il microservizio individuale è fornire a questi servizi uno schema unico (ad esempio non DBO) e inserirli tutti in un unico database (valido per costi + manutenzione).
Questo funziona perfettamente con EF 6, tuttavia, guardando il file generato da EFBigrationsHistory nel core, sembra che il core non tenga conto dello schema.
Sono consapevole del fatto che la migrazione in EF Core è cambiata per cercare nel codice piuttosto che nel DB, ma il mio problema è la versione registrata nella tabella dbo .__ EFMigrationsHistory è indipendente dallo schema.
Sai come possiamo rendere consapevole lo schema di EF Core quando scrive la migrazione sul db?
NB builder.HasDefaultSchema(Constants.SCHEMA);
è già impostato in DBContext.
builder.HasDefaultSchema()
viene utilizzato per impostare lo schema per il modello. La tabella MigrationHistory è configurata in modo diverso. Puoi leggere di più qui
Dal link,
Lo scenario più semplice è quando si desidera modificare il nome o lo schema della tabella. Questo può essere fatto usando il metodo MigrationsHistoryTable in OnConfiguring (o ConfigureServices su ASP.NET Core). Ecco un esempio.
protected override void OnConfiguring(DbContextOptionsBuilder options)
=> options.UseSqlServer(
connectionString,
x => x.MigrationsHistoryTable("__MyMigrationsHistory", "mySchema"));