Voglio tornare un singolo articolo dal mio contesto come segueQuando una query linq di Entity Framework restituisce i tipi di proxy dinamici e quando no?
using (var context = new MyContext())
{
var person = context.People.OrderByDescending(x => x.LastUpdatedDate).FirstOrDefault();
}
mio contesto si presenta come:
public DbSet<Person> People { get; set; }
Perché è che il tipo di mia variabile persona al di sopra non è Person
ma la dinamica tipo di proxy come System.Data.Entity.DynamicProxies .Person_5E43C6C196972BF0754973E48C9C941092D86818CD94005E9A759B70BF6E48E6
?
Se utilizzo Find
, ottengo il tipo Person
. Voglio restituire il primo record come ordinato in base alla data dell'ultimo aggiornamento e OrderByDescending
/FirstOrDefault
sembrava l'approccio più logico.
Mi rendo conto che potrei disattivare la generazione di proxy dinamico ma non penso che sia necessario.
Supponiamo che la mia domanda sia quale metodo linq fa restituire l'oggetto come il tipo che ci si potrebbe aspettare e quale restituisce il tipo di proxy dinamico?
Aggiorna la tua domanda a "Quali metodi linq causano la restituzione dell'oggetto come il tipo che ci si potrebbe aspettare e quali restituiscono il tipo di proxy dinamico?" –
è importante saperlo? l'oggetto proxy non ha nulla di speciale, nessun membro aggiunto automaticamente, sostituisce semplicemente le proprietà virtuali definite nel tipo di entità reale per collegare alcune cose. – Hopeless
Sto usando automapper per poi mappare a un dto. Il problema che sto avendo è che la mappatura non funziona quando il tipo restituito dal contesto è il proxy dinamico. – obaylis