Ho classi di modelli Article
e ApplicationUser
:
public class ApplicationUser
{
...
}
public class Article
{
...
public ApplicationUser CreatedBy { get; set; }
}
Ho provato a impostare la proprietà CreatedBy su false in questo modo:
base.Entry(entity).Property(x => x.CreatedBy).IsModified = false;
Ma ottengo questo errore:
La proprietà 'CreatedBy' sul tipo di entità 'ApplicationUser' è accessibile tramite il metodo 'Proprietà', ma è definita nel modello come una proprietà di navigazione. Utilizzare il metodo "Riferimento" o "Raccolta" per accedere alle proprietà di navigazione.
Se ho capito bene, l'entità dell'articolo potrebbe essere simile a:
public class Article
{
public int Id { get; set; }
public string UserID { get; set; }
// ...
[ForeignKey("UserID")]
public ApplicationUser CreatedBy { get; set; }
}
Poiché le informazioni di errore descritte, CreatedBy
è una proprietà di navigazione qui.
Quindi cambia il tuo codice in
Entry(entity).Reference(x => x.CreatedBy).IsModified = false;
,
Potrebbe funzionare come previsto.
Ho cambiato accesso a CreatedBy
utilizzando il metodo "Reference" CreatedBy
del metodo "Property":
base.Entry(entity).Reference(x => x.CreatedBy).IsModified = false;