Ho letto che i proxy vengono utilizzati quando è necessario utilizzare il caricamento pigro e il rilevamento delle modifiche. In altre parole, per usare Lazy Loading devo abilitare i proxy.EF 4 - Caricamento lento senza proxy
Fin qui tutto bene.
il punto è che posso utilizzare il codice seguente per configurare il contesto in modo da non utilizzare un proxy e utilizzare ancora il caricamento lazy.
ctx = new SchoolEntities();
ctx.ContextOptions.ProxyCreationEnabled = false;
ctx.ContextOptions.LazyLoadingEnabled = true;
La proprietà ProxyCreationEnabled è correlata solo al proxy di rilevamento modifiche o mi manca qualcosa?
Qualcuno potrebbe spiegarlo con alcuni dettagli?
Grazie!
EDIT1
non sto usando POCO/DbContext. Sto usando un normale modello edmx EF con ObjectContext. So che l'importanza dei proxy per le entità POCO riguarda il rilevamento delle modifiche e il caricamento lento. Per quale motivo utilizzare Proxies in un modello EDMX regolare?
Ricorderò che 'EntityObject' è una" entità legacy ":) Quando inizi a contrassegnarlo con l'attributo' [Obsolete] '? – Slauma
Buona domanda. A cui non posso rispondere perché non so se e quando accadrà mai. Ma ne abbiamo discusso. –
@ajcvickers, grazie per la tua risposta, ma, a meno che non comprenda correttamente, penso che mi sia sfuggita la parte più importante della domanda: se sto usando ObjectContext (e non DbContext), per cosa viene utilizzato ProxyCreationEnabled? Per abilitare la traccia di modifica? Come ho detto prima, questo non è per Lazy Loading, quindi, a cosa serve? – outlookrperson