| 

.NET C# Java Javascript Exception

3
Für diese Frage hab ich das Problem mal auf 2 Tabellen reduziert:
  • Tabelle TabAmit den Feldern A_ID (als PrimaryKey) und TextA.
  • Tabelle TabB mit den Feldern B_ID (als PrimaryKey) A_FK_ID (als ForeignKey aus Tabelle A) und TextB.
    Die Anwendung soll unter ASP.NET 3.5 und evtl. mit CodeBehind in C# erstellt werden. Die Tabellen wurden in eine edmx-Datei eingelesen. Hierbei gibt es nun die Navigationseigenschaften in TabA: TabB und umgekehrt.
    Funkioniert:
    Nun wird TabA in einer GridView dargestellt. Wenn ein Eintrag in TabA ausgewählt ist, wird TabB in einer GridView dargestellt. Hierbei werden nur die Daten angezeigt, die einen Bezug zum gewählten Eintrag in TabA haben. Die GridViews werden aus 2 EntityDataSource-Objekten bedient.
    Zum Problem:
    In einer DetailsView soll ein neuer Einträge in TabB eingefügt werden. Dabei soll der FK-Bezug bzw. Referenz automatisch zu TabA (Eintrag ist selektiert) erstellt werden. Versuche über die Navigationseigenschaft schlugen fehl, da null. Bis jetzt habe ich kein passendes Beispiel gefunden, dass diese nur die Darstellung beschreiben und keine Einfügungen. Wer hat mir ein Beispiel hierfür?
  • News:
    12.08.2011
    al77 61 1 2
    3 Antworten
    3
    Das geht am einfachsten, indem beim Erzeugen des Models das Häkchen bei Include foreign key columns in the model gesetzt bleibt. Dann kannst du, um den FK-Bezug herzustellen einfach die entsprechende ID eintragen:
    Adding Entities Using Foreign Key Properties (Entity Framework)
    Leaving the Include foreign key columns in the model checkbox selected will create scalar properties on entity types that are mapped to foreign key columns in the database and foreign key associations are created between entities.
    13.08.2011
    Jürgen Luhr 7,1k 2 9
    0
    Vielen Dank für die Antwort.
    Ist diese Funktionalität erst in VS2010 vorhanden? In VS2008 SP1 hab ich diese nicht entdecken können.
    Gibt es hier einen Workaround um an evtl. FK-Properties zu gelangen?
    14.08.2011
    al77 61 1 2
    al77 61 1 2
    Da bin ich mir nicht sicher. Kann aber gut sein, dass es erst ab VS2010 verfügbar ist. Dann solltest du über einen Umstieg nachdenken. Ohne diese Funktionalität hatte ich ziemlich Probleme mit dem Enity Framework in verteilten Anwendungen.
    Jürgen Luhr 14.08.2011
    0
    Bin unter diesem Link aus stackoverflow.com nun fündig geworden.

    Das Property TabB.TabAReference.EntityKey muss erstellt werden:
    TabB.TabAReference.EntityKey = new EntityKey (
    "tabEntities.TabA",
    "A_ID",
    /* FK-Wert eintragen */ );
    15.08.2011
    al77 61 1 2
    al77 61 1 2

    Stelle deine .net-Frage jetzt!
    TOP TECHNOLOGIES CONSULTING GmbH