2017-11-03 5 views

Antwort

2

Sie können einige der unteren Ebene Migrations-Komponenten nutzen, das zu tun:

var migrationsAssembly = db.GetService<IMigrationsAssembly>(); 
var differ = db.GetService<IMigrationsModelDiffer>(); 

var hasDifferences = differ.HasDifferences(
    migrationsAssembly.ModelSnapshot.Model, 
    db.Model); 

Assert.False(hasDifferences, "You forgot to add a migration!"); 
+0

Hinweis, diese auf die Datenbank nicht wirklich überprüfen. Um dies zu tun, siehe [diesen Kommentar] (https://github.com/aspnet/EntityFrameworkCore/issues/6214#issuecomment-332980580) zur Inspiration. – bricelam

+0

Danke für die Antwort, funktioniert das mit einer In-Memory-Datenbank? –

+1

Sie meinen mit dem In-Memory EF Core Provider? Nein; 'IMigrationsAssembly' und' IMigrationsModellDiffer' sind nur für relationale Provider verfügbar. (Aber wenn Sie in In-Memory-SQLite-Datenbank meinen, ja.) – bricelam

Verwandte Themen