/ / Как да промените чуждия ключ в Entity Framework - entity-framework, ef-model-first

Как да промените чуждия ключ в Entity Framework - entity-framework, ef-model-first

Използвайки Entity Framework не мога да накарам чуждия ключ да се промени, когато го направя db.SaveChanges().

В примера по-долу "Поздрави" е чужд ключ в модела "човек".

Например, ако е в момента {"Id":2,"Name":"Mrs"}, ако вляза {"Id":3,"Name":"Mr"}, която вече съществува, няма да се промени, макар да влизам {{"Id":3,"Name":"Random"}, той ще се промени и ще актуализира чуждия ключ. То ще се промени само ако има действителни промени в съдържащите се данни, а не само чуждия ключ.

db.Entry(person.FirstName).State = EntityState.Modified;
db.Entry(person.LastName).State = EntityState.Modified;
db.Entry(person.Salutation).State = EntityState.Modified;

try
{
db.SaveChanges();
}....

В този случай "човек" преминава в нещо подобно:

{"FirstName": "Anne", "LastName": "Other","Salutation":{"Id":2,"Name":"Mrs"}}

Всяка помощ би била най-ценна, както бяхзаседнал от това в продължение на месеци и предишната ми публикация не е имала полезни отговори. Също така вижте тази публикация за повече подробности за структурата на първия DB модел и т.н .:

Entity Framework - не актуализиране на референтния модел

Отговори:

0 за отговор № 1

След това сменете чуждия ключ

db.Entry(person).State=EntityState.Modified

преди

db.SaveChanges();