Neue Datensätze, die in der fremden Schlüsseltabelle eingefügt werden, wenn Sie in der übergeordneten Tabelle einfügen

StackOverflow https://stackoverflow.com//questions/21035405

  •  21-12-2019
  •  | 
  •  

Frage

Ich bin neu in ASP.NET MVC und arbeitet an einer einfachen Bloganwendung (ASP.NET MVC5, EF6) zum Lernen.

Ich verwende das Repository-Muster für die Lösungsarchitektur mit der ersten Migration von EF-Code, Ninject für DI. Auf der Clientseite verwende ich JQuery Grid für Administrator, um Beiträge, Kategorien und Tags zu verwalten.

- blog.model: post.cs, category.cs, tags.cs

generasacodicetagpre.

- Blog.Repository: BLOGERPOSIONAL, IBLOGREPOSIONAL, Blogcontext

generasacodicetagpre.

- Blog.web: admincontroller.cs, ninjectwebcommon.cs

admincontroller sendet / verbraucht Daten in JSON-Format.

generasacodicetagpre.

Ich verwende benutzerdefinierte Modellbindung, da ich bei der Ersparnis des Beitrags Seit der Liste der Kategorien und Tags, die von GRID erhalten wurden, Validierung erhalten habe. Daher in der benutzerdefinierten Modellbindung füllte ich das Postobjekt mit den tatsächlichen Objekten, die vom Gitter empfangen werden. Dieses Postobjekt wird an den Controller gesendet, der in der Datenbank mithilfe von DBCONDEXT und Repository gespeichert wird.

generasacodicetagpre.

Ausgabe: Wenn der Pfosten gespeichert ist, fügt der Datenkontext neue Zeilen für Kategorie und Tags in ihren jeweiligen Tischen ein. Der neu erstellte Post bezieht sich auf neue Kategorie (ID: 22) unter Fremdkastensäule.

Post:

Bildbeschreibung eingeben Hier eingeben

Kategorie:

Bildbeschreibung eingeben Hier eingeben

Tag:

Bildbeschreibung hier eingeben

Ich denke, der Grund dafür ist, dass, wenn Entität gespeichert wird, an einem anderen ObjectContext angehängt, und ich muss ihn an aktuelle Kontext anhängen, aber weiß nicht, wie? Ich fand ähnliche Frage vor , aber es gibt jedoch keine akzeptierte Antwort darauf. Jede Hilfe wäre sehr dankbar.

War es hilfreich?

Lösung

Ich konnte die obige Ausgabe durch Anhängen von Kategorie und Tags-Wert auf objectContext manuell auflösen, was den EF-Änderungen angibt, die sie erstellen müssen.Auf diese Weise erstellt es keine neuen Einträge in den übergeordneten Tabellen der Kategorie und des Tags.

generasacodicetagpre.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top