Entity Framework 4.3 Codice prima: Imposta proprietà ereditata durante SaveChanges
-
14-12-2019 - |
Domanda
Se ho una voce di dbentityentry, accedo ai valori correnti come:
var currentValues = entry.State != EntityState.Deleted
? entry.CurrentValues
: null;
.
Più tardi, voglio impostare un valore di proprietà:
currentValues["Created"] = DateTime.Now;
.
Penso che tu possa indovinare ciò che è per :)
Tuttavia, la proprietà creata esiste su una classe di entità base e ricevo un errore durante il tentativo di accedere alla proprietà:
.La proprietà 'creata' non esiste o non è mappata per il tipo "Mierienty".
Questo perché la proprietà è nella classe base ereditata.
Come posso impostare la proprietà?
Molte grazie,
richard
Soluzione
Non utilizzare CurrentValues
.Utilizzare direttamente l'entità.
if (entry.State != EntityState.Deleted && entry.Entity is YourBaseClass)
{
YourBaseClass entity = (YourBaseClass)entry.Entity;
entity.Created = DateTime.Now;
}
. Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow