Lazy loading in .NET core header image

Lazy loading in .NET core

donderdag 19 januari 2017 ·Leestijd: 1 minuut
contacteer auteur:

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

B2B E-commerce
 Wakker worden!
Geschreven door
op dinsdag 28 juni 2022
Veel B2B-bedrijven in blijven hangen in; nauwelijks vindbare, verouderde B2B e-commerce websites met minimale conversiemogelijkheden en een betreurenswaardige gebruikerservaring. Zonde!
B2B Leadgeneratie: Alles wat je altijd al wilde weten!
Geschreven door
op maandag 27 juni 2022
B2B online leadgeneratie is het proces van het identificeren van de ideale klanten voor uw product of dienst, en hen vervolgens overhalen tot aankoop. Het is een essentiële activiteit voor B2B sales- en marketingteams.
Wat maakt een B2B webshop succesvol?
Geschreven door
op zondag 26 juni 2022
De opmars van de B2B webshop neemt toe. Regelmatig krijgen wij de vraag of er een groot verschil is tussen een consumentgerichte webshop en een puur B2B gedreven webshop. In deze blog leggen wij u uit hoe een B2B webshop succesvol kan zijn en worden.
Open Nieuwsbrief Inschrijving Footer

E-book

Zo wordt uw website een lead generator 
In 3 stappen uw website van visitekaartje naar salesfunnel

Download het E-book â€ș