EntityFramework-CodeFirst-Sample

    • VB.NET
    • .NET (FX) 4.5–4.8

      EntityFramework-CodeFirst-Sample

      Ich hab mich eine Weile mit dieser Vorlage beschäftigt (vielen Dank an @AliveDevil), und dann habich selbst was gebastelt, was eine m:n - Relation mit vollem CRUD (Create, Read, Update, Delete) präsentiert.
      Also es gibt Artikel, Kategorien und Lieferanten.
      Und der m:n-View ermöglicht, die Kategorien durchzugucken, und zu jeder Kategorie bekommt man alle Artikel, und jeder Artikel zeigt auch seinen Lieferanten an, und man kann den Lieferanten per DatagridComboColumn auch ändern - und das speichert auch.
      Ebenso kann man die Lieferanten durchgehen, und wenn wolle die Kategorie eines Artikels ändern:


      Ausgeführt ist es in einer Simpel-Variante, die gleich alles lädt, und in skalierbarer Form, wo nur die Artikel geladen werden, die auch zur Anzeige kommen. Und wo ausserdem die nicht mehr gebrauchten Artikel entladen werden.
      Beides sowohl in c# als auch in vb.

      Bauchschmerzen bereitet mir, dass der DbContext während der Gesamt-Laufzeit im Speicher erhalten bleiben muss.
      Allenthalben liest man, dass ein DbContext nur ein zeitweiliges Objekt sein soll (übrigens immer ohne stichhaltige Begründung).
      Aber ein Disposen - etwa beim Kategorie-Wechsel konnte ich nicht umsetzen ohne empfindliche Abstriche an der m:n-View-Funktionalität.
      Und von einer Datenbank-Technologie erwarte ich, dass damit ein m:n-View mit vollem CRUD machbar ist.
      Vlt. gibts ja jemand, der das gezeigte in diesem Sinne besser umsetzen kann - ohne durch Funktionalitäts-Abstriche erkauft - , und der Lust hat, seine Version anzuhängen?

      Einige Hinweise wie's ühaupt gemacht ist finden sich auch im "MostSimple-Readme" - etwa zur fundamentale Bedeutung der App.Config und der Application.Xaml.vb/App.Xaml.cs.

      Dateien
      • EfCodeFirst.zip

        (1,88 MB, 344 mal heruntergeladen, zuletzt: )

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „ErfinderDesRades“ ()