Announcement

Collapse
No announcement yet.

Entity Framework nur bestimmte Felder, andere ignorieren

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

  • Entity Framework nur bestimmte Felder, andere ignorieren

    hallo,
    ich möchte lesend auf eine Warenwirtschaft zugreifen und das mit Entity Framework realisieren. Es gibt eine Tabelle mit Aufträgen, Adressen und Positionen. Ich würde gerne eine Liste mit den Auftragspositionen generieren und die Kundenadresse dazu anzeigen.

    Die Tabellen haben jeweils ca. 50 Spalten. Für meine Anforderung interessieren mich jedoch nur ca. jeweils 5 Spalten pro Tabelle. Bisher habe ich immer mit DBFirst gearbeitet. Um die Aufgabe zu lösen habe ich das auch versucht. Das funktioniert wenn ich alle Felder in mein Model übernehme.

    Jetzt ist es so das man in der Warenwirtschaft eigene neue Felder anlegen kann. Es ist nicht geplant dass ich nach jeder Änderung auch mein EF aktualisiere. Es soll mit meinen wenigen Feldern einfach weiterhin funktionieren, die neue Felder kommen bei mir nicht vor. Bei DBFirst scheint es so zu sein dass das Schema beim ersten Zugriff auf die Tabelle geprüft wird oder dass er nicht damit zurecht kommt wenn ein Feld zusätzlich kommt das nicht im Model existiert.

    Welchen Ansatz muss ich verwenden oder was muss ich bei DBFirst einstellen damit er die neuen Felder ignoriert bzw. keinen Fehler wirft?

  • #2
    Kannst Du Dir nicht einfach die Klassen generieren lassen per DBFirst und den Rest manuell aus den erzeugten Klassen und Mappings löschen? Bin keine Entity Framework Experte, aber soweit ich weiß funktioniert das ähnlich wie Hibernate und dort konnte man z.B. in einem XML eintragen welche Felder aus der DB auf welches Feld/Property in der Klasse gemappt werden. Ich denke wenn Du dort die Mappings rauswirfst die Dich nicht interessieren, dann müsste das eigentlich passen. Das hat dann auch noch den kleinen (guten) Nebeneffekt dass Du ein bischen mehr verstehst wie das EF arbeitet.

    Comment


    • #3
      In Hibernate kann man beliebige Felder mappen und auch programmatisch die gemappten Felder während des Programmlaufes festlegen.

      Hier ist beschrieben, wie das mit dem EF geht

      http://stackoverflow.com/questions/7...ignore-columns
      Christian

      Comment

      Working...
      X