Announcement

Collapse
No announcement yet.

EF Data Model

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • EF Data Model

    Hallo,

    folgender Fall: Ich habe wie oben beschrieben EF-Klassen, welche ich mit IDataErrorInfo überprüfe. Da die Eingaben bereits bei Propertychanged, der Datensatz selbst allerdings per Klick auf einen Button stattfinden sollen, habe ich mir eine zweite Klasse geschrieben, welche die EF-Klasse kopiert. Diese Klasse wird per Validation überprüft. Passt alles wird diese Klasse händisch in die EF-Klasse kopiert und in die Datenbank übergeben.

    Funktioniert zwar, ist aber sehr aufwendig, da ich jede Klasse händisch nochmal schreiben muss und dann manuell in die echte Klasse übergebe. Gibt es hierzu eine bessere Lösung?

    MfG
    Die Taschenlampe!

    Die perfekte Taschenlampe für Ihr Windows Phone!

    - Die APP steuert die echte Blitz-LED an und versorgt Sie mit 100% Leistung!
    - Zudem zeigt die Live-Kachel den aktuellen Akkustand des Telefons an!


    Hier gehts zu APP!

  • #2
    Ich glaube da gibts jetzt zu viele Fragen Wie machst Du Deine Validierung? Ich bin in WPF kein Spezialist aber ich könnte mir vorstellen dass auch dort die Data Annotations greifen die man z.B. auch fürs Entity Framework verwenden kann. Das heisst einmal einen Validator schreiben, dann kann man den an allen benötigten Stellen einsetzen.
    Zum Mapping kann ich Dir noch das Tool AutoMapper empfehlen. Der würde das Mapping zwischen den Klassen übernehmen ohne viel Aufwand betreiben zu müssen.
    Kannst Du nicht auch einfach dein DTO klonen? Interessant wäre auch welchen Modus Du beim EF fährst (reine DTOs, self tracking entities...).
    Ausserdem würde etwas Besipielcode dazu auch nicht schaden.

    Comment


    • #3
      Hi,

      sorry, war einige Zeit nicht da, darum konnte ich erst jetzt antworten.
      Die DTO's klonen mache ich sozusagen ja. Ich schreibe quasi jede Klasse meines EF-Models ein zweites mal. Wie meinst du genau klonen?
      Validation ist ja soweit im einsatz, allerdings werden Fehler erst mal in die Klasse geschrieben bevor Sie bemängelt werden. Und ich möchte diese vor dem schreiben bereits bemängeln; Darum die zweite separate Klasse, welche die Daten erst ins EF-Model übergibt wenn alles passt.
      Hierfür suche ich einen Weg, welcher "Elegant" die Daten von meiner in die EF-Klasse schreibt, ohne großen Aufwand machen zu müssen. Was das EF-Model macht ist eigentlich nebensächlich (denke ich), nutze aber reine DTO's.

      Beispielcode ist sehr Simple:

      EF-Klasse sieht z.B. so aus:

      string Name;
      string Nachname;

      meine Klasse so (Klon):
      string CName;
      string CNachname;

      und wenn die Validierung keine Fehler findet mache ich manuell beim Klick auf den speichern Button:

      EF.Name = meineKlasse.CName;
      EF.Nachname = meineKlasse.CNachname;

      Und genau diesen "händischen" Aufwand möchte ich umgehen.

      Gruß, Flo
      Die Taschenlampe!

      Die perfekte Taschenlampe für Ihr Windows Phone!

      - Die APP steuert die echte Blitz-LED an und versorgt Sie mit 100% Leistung!
      - Zudem zeigt die Live-Kachel den aktuellen Akkustand des Telefons an!


      Hier gehts zu APP!

      Comment

      Working...
      X