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

È stato utile?

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
scroll top