Sehr einfaches Dilemma, das mich in MVC 3 umgebracht hat

  • Zusammenfassung der Frage: Wie richte ich zwei oder mehr Tabellen mit Linq zu Entitäten ein?

    Ich kann nicht finden ein Beispiel; Sie rüsten immer nur einen Tisch.

    Details:

    Wenn ich zwei Tabellen habe und LINQ-Entitäten mit einer Vorlage t4 für die Funktion dbcontext verwende wie zum Beispiel:

     Table1 
    Name    LastName  PositionId
    Jose     j        1
    
    Table2 
    PositionPrimaryKey   PositionId   PositionDescription
    1                      1             MainProgrammer
     

    Wenn ich diese Tabelle mit linq zu Entitäten zuordnen würde, wie würde ich sie dann anordnen?

    Dann füge ich Table1 als Modellklasse hinzu. Ich habe mein employeesentities als dbcontext

    Das erstellt jedoch nur die Werte für Tabelle 1 und nicht für 2.

    Wenn ich ein neues Modell erzeuge, das beide Entitäten enthält, heißt es, dass es nicht zu Employeeentities gehört, und die Klasse konnte nicht geändert werden, um meine neue Entität hinzuzufügen.

    22 November 2011
    Hector Correa
1 answer
  • Sie haben also eine 1: 1-Beziehung zwischen diesen Tabellen? Wenn ja, schlage ich vor, dass Sie eine Entität manuell erstellen, die definierende Abfrage auf die erforderliche Verknüpfung setzen und Einfügen / Aktualisieren / Löschen gespeicherten Prozeduren im Bildschirm Mapping-Details zuordnen. Es handelt sich hierbei um ein (recht einfaches) SQL, aber es ist der sauberste Weg für Ihren Code oben.

    Wenn es keine 1: 1-Beziehung ist, müssen Sie die t4-Vorlage in ändern Erstellen Sie bedingt die Felder der verknüpften Eigenschaft (sie muss durch die Eigenschaft navigieren und basierend auf einer Bedingung, wie Sie sagen "Wenn die Eigenschaft Table2 heißt", erstellen Sie die zusätzlichen Felder). Wenn Sie dies bereits getan haben und es nicht funktioniert, ist mit der Auswahl der von MVC-Gerüsten verwendeten Eigenschaften möglicherweise etwas los. Es kann Reflektion verwenden und nur primitive Typen auswählen.

    26 November 2011
    tec-goblin