Iniettare servizi nel costruttore di una entity in Entity Framework Core

di Stefano Mostarda, in LINQ, Entity Framework,

Nello script #481 abbiamo visto che, a partire dalla versione 2.1, Entity Framework Core permette di istanziare entity con costruttori parametrici. Abbiamo anche visto che i nomi dei parametri del costruttore devono coincidere con i nomi delle proprietà. Oltre a questi parametri, nel costruttore possiamo anche iniettare servizi come DbContext, ILazyLoader, IEntityType e altri ancora. Dobbiamo però tenere a mente che questi servizi sono esposti da EF Core e non dal motore di dependency injection di ASP.NET Core. Per questo motivo possono essere iniettati solamente servizi che sono conosciuti da EF Core e non altri servizi.

public class Person
{
    public Person(...)
    {
       ...
    }

    private Person(MyContext context)
    {
        Context = context;
    }

    private MyContext Context { get; set; }
}

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.

Approfondimenti

I più letti di oggi