2017-08-25 3 views
0

C'est vraiment une question sur ce qui serait un modèle recommandé ...ASP.NET Core: motif correct pour passer DbContext à séparer les bibliothèques de classes?

J'utilise ASP.NET Core 2.0 et utiliser l'injection de dépendance pour permettre à mes contrôleurs et d'autres classes d'avoir accès à un IMyDatabaseRepositor, par les constructeurs de classe.

J'ai aussi plusieurs autres projets dans des assemblages séparés. Je pensais permettre à ces autres projets de faire aussi du travail de dépôt. Nous parlons vraiment de fournir un accès à un DbContext existant. Dois-je transmettre l'instance IMyDatabaseRepository aux méthodes des autres classes de projet, ou ces classes devraient-elles simplement instancier leur propre IMyDatabaseRepository (et faire toutes leurs propres "Startup" et leur chaîne de connexion pour database et DI)? Je ne suis pas sûr que les autres classes de projet puissent également utiliser IServicesCollection afin d'obtenir des instances DI de mon application Web principale ASP.NET Core.

Des pensées?

Répondre

1

Les bibliothèques ne devraient pas créer de graphiques d'objets, only the startup project devrait.

Cela signifie que dans la bibliothèque que vous utilisez simplement Constructor Injection, alors que dans votre classe Startup vous enregistrez tous les composants de toutes bibliothèques.

+0

Steven, vous avez raison. C'était comme de la magie. J'ai juste utilisé l'injection de dépendance normale dans mes bibliothèques de classes séparées et étant donné qu'ils s'exécutaient le long de l'application web (avec Startup), l'injection a juste fonctionné. Très cool en effet. – user2737646