Lazy loading in .NET core

Geschreven door: op donderdag 19 januari 2017

Leestijd:

Lazy loading in .NET core

.NET core is de platformonafhankelijke .NET-implementatie van Microsoft. .NET-core-applicatie kunnen bijvoorbeeld worden geactiveerd op Linux-omgevingen, waarvan mogelijke effecten zijn: lagere hostingkosten en vergroten van schaalbaarheid oplossing.

Er zijn echter een aantal belangrijk verschillen, bijvoorbeeld in de structuur van de gegenereerde projecten, of de NuGet-packages die ondersteund worden.

Een van de andere verschillen tussen .NET Framework en .NET Core is dat het laden van gekoppelde database-entiteiten via lazy loading nog niet ondersteund wordt in .NET core. Een voorbeeld van gekoppelde entiteiten is:


public class BlogPost{

   public virtual ICollection<Comment> Comments {get; set;}

}

Wanneer in .NET Framework een databasecontext geopend is, kan vanuit een blogpost worden naar comments op volgende wijze:


Var blogPost = _context.blogPosts.Find(Id);
Var comments = blogPost.Comments;

Comments bevat nu een collectie met gekoppeld comments. In het geval van .NET Core is comments echter nog steeds null en dat is omdat lazy loading nog niet wordt ondersteund. Om de gekoppelde comments in te laden en te gebruiken, zijn er twee oplossingen:

Via Eager Loading:


var blogPost = _context.blogPosts.Include("Comments").Single(b => b.Id == Id);

Via Explicit Loading:


context.Entry(blogPost).Collection(b => b.Comments).Load();

Of als de koppeling naar een enkele entity is:


context.Entry(blogPost).Reference(b => b.Author).Load();

Op deze manier zorg je ervoor dat gekoppelde entiteiten ingeladen worden en gebruikt kunnen worden in je .NET Core-applicatie.


Andere blogartikelen

  • Waarom developers het zo leuk vinden bij ons

    Geschreven door: op woensdag 13 november 2019

    Bij ons op kantoor werkt een team van betrokken specialisten, waaronder 4 backend developers en 4 UX developers. Zij zorgen voor een belangrijk fundament binnen dit bedrijf. Een goede reden om te zorg ...

    Bekijk het artikel »
  • Beachvolleyballen voor het goede doel!

    Geschreven door: op vrijdag 25 oktober 2019

    Afgelopen vrijdag 11 oktober  hebben diverse betrokken specialisten uit ons team de handen ineen geslagen met een van onze opdrachtgevers. Samen met De Monchy International B.V. hebben we meegeda ...

    Bekijk het artikel »
  • Het gebruik van een Photoslider

    Geschreven door: op maandag 7 oktober 2019

    Ze zijn er in alle soorten en maten en staan meestal bovenaan een websitepagina. Dan heb ik het natuurlijk over photosliders. Zo bent u vast bekend met de traditionele foto die langzaam vervaagd en wa ...

    Bekijk het artikel »
Bel 072 5345 888
Onze Middelen en Technologieën
microsoft silver partner
Adobe partner
fd-gazellen-2018.jpg
Google analytics
partners-logo.jpg
Op de hoogte blijven?

Meld u aan voor de gratis nieuwsbrief om op de hoogte te blijven van onze activiteiten