Hallo,
ich habe ein Problem mit Dispose bei EF, d.h. DBContext.
Mein Context:
Spoiler anzeigen
und in der Hauptroutine gibt es sowas:
Nach dem Ende von
Bei mir müsste das Model aber auch beim Dispose gelöscht werden. Wie mache ich das denn?
Gruß
MQ
ich habe ein Problem mit Dispose bei EF, d.h. DBContext.
Mein Context:
C#-Quellcode
- internal class Context :DbContext
- {
- private int index;
- public Context(int index)
- {
- this.index = index;
- }
- internal virtual DbSet<ZugEntity> Züge { get; set; }
- protected override void OnConfiguring(DbContextOptionsBuilder builder)
- {
- if(!builder.IsConfigured)
- {
- builder.UseSqlServer(connectionstringSQLServer)
- .LogTo(s => Debug.Print(s), Microsoft.Extensions.Logging.LogLevel.Information)
- ;
- }
- }
- protected override void OnModelCreating(ModelBuilder builder)
- {
- builder.Entity<ZugEntity>(
- xx =>
- {
- xx.ToTable($"Startindex02_{index:00}");
- xx.HasNoKey();
- });
- }
- public override void Dispose()
- {
- base.Dispose();
- }
- }
und in der Hauptroutine gibt es sowas:
Nach dem Ende von
using
wird der Context über Dispose weggeschmissen, das Model aber nicht. Beim zweiten Durchlauf der Schleife wird OnModelCreating
nicht mehr aufgerufen. Das macht Sinn wenn ich ein umfangreiches Datenmodel erzeuge und ich tausende Zugriffe auf die DB mit jeweiles neuen Context-Instanzen mache. Da spare ich Aufwand.Bei mir müsste das Model aber auch beim Dispose gelöscht werden. Wie mache ich das denn?
Gruß
MQ