Entity Framework 6. ModelCaching deaktivieren
OK, Google, ich kann nicht googeln.Dokumentatio sagt
Das Modell für diesen Kontext wird dann zwischengespeichert und gilt für alle weiteren Instanzen des Kontexts in der App-Domäne. Diese Zwischenspeicherung kann deaktiviert werden, indem die ModelCaching-Eigenschaft für den angegebenen ModelBuidler @ festgelegt wir
und so bestätigt it. Aber ich kann keinen Weg finden, es zu tun. Ich muss die Zwischenspeicherung deaktivieren, da ich Daten aus mehreren Protokolltabellen mit derselben Struktur über nur ein Modell abrufen möchte, sodass mein Code wie folgt aussieht:
logTableNames.ForEach(n =>
{
using (var context = new LogContext(n))
{
Console.WriteLine($"Project: {n} -- {context.Logs.Count()} rows.\n");
}
});
und konfigurieren mit
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Log>().ToTable(_tableName);
}
Aber "OnModelCreating" -Methode nur einmal aufgerufen und ich kann die Tabellenzuordnung nicht neu konfigurieren. Vielleicht gibt es einen anderen wahren Weg, um meine Aufgabe zu erledigen?