Linq To Entities ed il Lazy Loading

di Stefano Mostarda, in LINQ,

Fondamentalmente, ADO.NET Entity Framework mi piace e parecchio pure. A parte gli errori di impostazione che secondo me sono nella maggior parte dei casi ignorabili (mancanza di Persistence Ignorance su tutti), direi che nel complesso le basi per affacciarsi al mondo ORM con una prima versione decente ci sono.

Tuttavia ogni tanto vedo cose che trovo strane. Per default, quando si carica un'entità, tutte le entità associate non vengono caricate subito, ma solo quando vi si accede. Quindi, quando si carica un'entita Customer, non si caricano anche i suoi ordini. Quando si vuole accedere ai suoi ordini si interroga la proprietà Orders; insomma qualcosa come cust.Orders.

Ebbene, a meno che non mi sia perso qualcosa, il procedimento non è solamente questo. Infatti, l'entita va caricata esplicitamente chiamando il metodo Load; quindi, prima si chiama cust.Orders.Load(), e poi si possono scorrere i dati. Ora, la cosa non mi piace proprio; se accedo alla proprietà vuol dire che la voglio caricare, quindi perchè doverlo fare esplicitamente?

Spero tanto di essermi perso qualcosa, intanto continuo a cercare, ma se non troverò nulla che mi smentirà, rimmarrò un tantinello basito.

Stay tuned...

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Nella stessa categoria
I più letti del mese