Nella funzione seguente, dopo context.SaveChanges(), l'entità PropertyType è sempre nullo. Ho appena convertito da ObjectContext a DBContext (con il database prima) e prima del cambiamento, ha funzionato bene e ora non funziona. C'è qualcosa che mi manca?Caricamento lento non funzionante dopo SaveChanges Entity Framework
Controllo il PropertyTypeID, è scritto correttamente ed esiste nel db. Tutte le relazioni sono impostate correttamente nel file db ed edmx. I file .tt generati mostrano l'oggetto PropertyType come virtuale. Questo è EF 5.
Ecco il codice (assegnazioni non importanti proprietà delle entità è stato rimosso):
private ListingTransferDetail BeginListingTransferDetailReport(int PropertyTypeID)
{
ListingTransferDetail transfer_detail = new ListingTransferDetail();
transfer_detail.PropertyTypeID = PropertyTypeID;
using (IDXEntities context = new IDXEntities())
{
context.ListingTransferDetails.Add(transfer_detail);
context.SaveChanges();
TransferProgress += "<br /><br /><strong>" + DateTime.Now + "</strong>: Transfer initialized for property type \"" + transfer_detail.PropertyType.DisplayName + "\".";
}
return transfer_detail;
}
Grazie in anticipo.
EDIT
Ho scoperto che se aggiungo questa riga di codice dopo SaveChanges(), funziona. Tuttavia, questo non è l'ideale, come posso farlo caricare l'entità di default?
context.Entry(transfer_detail).Reference(a => a.PropertyType).Load();
Grazie ancora.
Questo risolto il mio problema. Tuttavia, facendo ciò richiede che l'entità sia creata dopo che il contesto è stato istanziato. Pertanto, sarebbe meglio per me caricare manualmente il riferimento come mostrato nella mia modifica. Grazie per l'aiuto! – Ricketts