Sto cercando di aggiornare un oggetto che ho salvato in precedenza con EntityFramework 4.1 (CodeFirst)Aggiornamento di un riferimento a un oggetto figlio in Entity Framework 4.1 (CodeFirst)
Il lavoro di classe ha le seguenti proprietà ...
public class Job
{
[key]
public int Id { get; set; }
public string Title { get; set; }
public Project Project { get; set; }
public JobType JobType { get; set; }
public string Description { get; set; }
}
l'iniziale creare lavori bene, ma l'aggiornamento impegna unicamente modifiche alle corde ..
Se cambio gli oggetti figlio ad esempio, la proprietà JobType
da JobTypeA
a JobTypeB
- t il cambio non è stato commesso ...
Non sto cercando di passare a JobType - solo a Job.
using (var context = new JobContext())
{
context.Jobs.Attach(job);
context.Entry(job).State = EntityState.Modified;
context.SaveChanges();
}
Avere uno sguardo a SQL Profiler - gli ID non sono nemmeno di essere inviato per l'aggiornamento - tuttavia sono per l'inserto iniziale!
"Questa è una situazione tipica che sta diventando molto più semplice se si espongono chiavi esterne come proprietà nel modello" THIS. Questo dovrebbe essere incluso in ogni EF-tutorial. Non è credibile come le cose "funzionano". –
@EugenTimm Come funziona quando si aggiorna un distaccato? Aggiorna la proprietà di navigazione o l'FK? –