2016-03-25 5 views
0

Ich habe ein Modell mit Fremdschlüsseln. Ich kann erfolgreich das Kind-Objekt verweisen in meine Daten mit BlickMVC Lesen von Unterobjekten direkt nach dem Erstellen

@Html.DisplayFor(model => item.CHILD.CHILDNAME) 

Aber ich kann das Subobjekt nicht gelesen, nachdem ich eine neue Mutter erstellen.

Wie kann ich es so einrichten, dass ich den CHILDNAME referenzieren kann, nachdem ich meinen neuen Eltern-Datensatz erstellt habe?

Meine Vermutung ist, dass es etwas damit zu tun hat, dass das Modell die abhängigen Tabellen nicht verbindet, bis die Daten gespeichert und neu geladen werden - aber ich dachte, der Viewbag-Aufruf könnte dafür sorgen.

Antwort

0

Während das übergeordnete Objekt gespeichert wird, werden die Unterobjekte nicht automatisch mit dieser Sicherung geladen. Sie müssen das übergeordnete Objekt erneut laden, um auf diese Unterobjekte zugreifen zu können.

+0

Kann ich das übergeordnete Objekt in der Create-Funktion neu laden? Ich möchte eine E-Mail mit einigen Informationen zum Kind senden, bevor die nächste Seite angezeigt wird. Wie mache ich das? –

+0

Sicher. Nach den SaveChanges müssen Sie lediglich die Datenbank erneut anfordern, um sicherzustellen, dass Sie die Unterobjekte in diese Abfrage einbeziehen, und Sie sollten Ihre Daten haben. –

+0

Ich benutze reine MVC, keine direkte Datenbank SQL-Abfrage. Also, basierend auf Ihrem Vorschlag, habe ich versucht: db.PARENTs.Add (parent); db.SaveChanges(); pARENT = db.PARENTs.Find (parent.PARENTID); ViewBag.CHILDID = neue SelectList (db.CHILDs, "CHILDID", "CHILDNAME"); - Suche nach dem Speichern. aber das hat nicht funktioniert. Können Sie Beispielcode senden, um den Datensatz neu zu laden? –

Verwandte Themen