2017-08-25 6 views
0

これは私がASP.NETコア2.0を使用して、クラスのコンストラクタを経由して、私のコントローラや他のクラスがIMyDatabaseRepositorへのアクセス権を持つことができるように、依存性注入を使用して...本当にASP.NET Core:クラスライブラリを分離するためにDbContextを渡す正しいパターンですか?

推奨パターンがどうなるかについての質問です。

私はまた別のアセンブリでいくつかの他のプロジェクトを持っています。私はこれらの他のプロジェクトにもいくつかのリポジトリ作業をさせることを考えていました。実際には、既存のDbContextへのアクセスを提供することを話しています。

IMyDatabaseRepositoryのインスタンスを他のプロジェクトクラスのメソッドに渡すか、それらのクラスは単に自分のIMyDatabaseRepositoryをインスタンス化するだけです(データベースとDIのための独自の "スタートアップ"と接続文字列)。

メインのASP.NET Core WebアプリケーションからDIインスタンスを取得するために、他のプロジェクトクラスでもIServicesCollectionを使用できるかどうかはわかりません。

どのような考えですか?

答えて

1

ライブラリはオブジェクトグラフを構成しないでください。only the startup project

これはあなたのStartupクラスであなたがすべてライブラリからのすべてのコンポーネントを登録しながら、ライブラリにあなたは、単に、コンストラクタ・インジェクションを使用することを意味します。

+0

スティーブン、あなたは正しいです。それは魔法のようだった。私は別のクラスライブラリで通常の依存関係注入を使用して、Webアプリケーション(Startupとともに)を実行していたら、注入はちょうどうまくいった。確かに非常にクール。 – user2737646

関連する問題