Als Ergebnis eines Formularposts versuche ich, einen neuen Markenrekord zu speichern. Aus meiner Sicht ist Gender eine Dropdown-Liste, die einen Integer zurückgibt, der aus ViewData ("gender") besteht.
Ich habe meinen Link wie folgt eingerichtet:
%Vor%Was zu dem folgenden Fehler führt.
%Vor%Könnte mir jemand die Parameter in einfachem Englisch erklären. Ich habe auch DB.Gender als ersten Parameter aber keine Freude ausprobiert.
Erstellen Sie anstelle eines EntityKey ein Stub-Gender-Objekt (Entschuldigung, ich bin kein VB-Typ, also in C #):
%Vor% Dann fügen Sie das Geschlecht an die entsprechende EntitySet
an (der Name der Eigenschaft in DB
, von dem Sie Gender-Entitäten erhalten, ist die folgende Zeichenfolge):
Dies versetzt die Datenbank in den Zustand, in dem sich das Geschlecht befindet, in den ObjectContext
im unveränderten Zustand ohne eine Datenbankabfrage. Jetzt können Sie eine Beziehung wie üblich erstellen
Das ist alles, was dazu gehört. Keine Notwendigkeit, sich mit EntityKeys
Hoffe das hilft
Was Sie brauchen, ist eine Instanz von Brand und Gender und dann setzen Sie Brand.Gender auf die Instanz des Gender. Dann können Sie ohne Probleme speichern.
Ok, was ich mir ausgedacht habe, anstatt updateModel zu benutzen. Es scheint problematisch / potentiell ein Sicherheitsrisiko zu sein, mit möglicherweise zusätzlichen Feldern in der Post hinzugefügt werden. Eine neue Instanz von Gender kann über trygetObjectByKey instanziiert werden. Dies funktioniert soweit. Alle weiteren Vorschläge, wie UpdateModel das Gender-Eigenschaftsobjekt aktualisieren kann, werden geschätzt.
%Vor%Tags und Links entity-framework entity foreign-keys entitykey