Je suis nouveau dans le monde Asp.net avec ses objets, j'ai donc quelques questions: -

1- Quand crée-t-on plus qu'une classe implémentante de DBContext pas une seule? 2- Dans le modèle commun, je vois quelle classe dérivée de DBcontext qui a la propriété DBSet pour chaque entité Alors pourquoi faisons-nous cela? Pour moi, je crée uniquement un référentiel générique ainsi qu'un implémenteur de classe de DBContext qui n'a aucune propriété DBSet. est-ce un motif précis?

Merci pour votre réponse

-1
Sherif Moustafa 4 nov. 2019 à 12:50

2 réponses

À propos du point 2 Je ne remplis toujours aucune propriété DBSet pour aucune table dans l'implémenteur DBContext, seulement je la remplis dans l'implémenteur du référentiel générique (expliqué ci-dessous). Alors je pose à nouveau cette question, est-ce considéré comme une bonne pratique?

private DbSet<T> dbSet;
private StoreEntities storEntites;

protected IDBFactory dbFactory { get; set; }
protected StoreEntities DbContext
{
    get { return storEntites ?? (storEntites = dbFactory.init()); }
}

protected GenericReprositry(IDBFactory dbfactrty)
{
    dbFactory = dbfactrty;
    dbSet = DbContext.Set<T>();

}
0
Sherif Moustafa 5 nov. 2019 à 07:03
  1. Vous pouvez, si vous avez plusieurs bases de données, vous pouvez avoir un contexte pour chacune.
  2. DBSet représente une table dans votre base de données
0
Vince 4 nov. 2019 à 10:38