Ich versuche, ein Modell mit Klassen in verschiedenen Baugruppen abgeleitet zu erstellen. Wenn ich dies ohne Reflektion mache, ist alles in Ordnung: Die Migration wird erfolgreich erstellt und die Datenbank wird aktualisiert.Entity Framework-Modell mit Reflexion erstellen
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<DerivedClass>();
}
Wenn ich die Reflexion verwende, wird die Migration ohne Änderungen erstellt.
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
var entityMethod = typeof(DbModelBuilder).GetMethod("Entity");
foreach (var assembly in AppDomain.CurrentDomain.GetAssemblies())
{
var entityTypes = assembly
.GetTypes()
.Where(t =>
t.BaseType == typeof(GameOperation));
foreach (var type in entityTypes)
{
entityMethod.MakeGenericMethod(type)
.Invoke(modelBuilder, new object[] { });
}
}
}
Aber wenn ich Anwendung im Debug-Modus starte, sehe ich, dass diese Entität zu ModelBuilder hinzugefügt wird! Und Anwendung sagt, dass
Das Modell der ‚EFDbContext‘ Kontext Sicherung geändert hat, da die Datenbank