0

以下の記事とリポジトリパターンに従っています。

http://www.asp.net/mvc/tutorials/getting-started-with-ef-using-mvc/implementing-the-repository-and-unit-of-work-patterns-in-an-asp-net- mvc-アプリケーション

ある時点で、コントローラーで定義されたオプションのコンストラクターが混乱しています。

public StudentController(IStudentRepository studentRepository)
{
    this.studentRepository = studentRepository;
}

たとえそれを削除しても、コードはうまく機能します。このコンストラクタの使用は何ですか。メインのデフォルトコンストラクターで新しいコンテキストオブジェクトを割り当てているため。

4

2 に答える 2

0

このコンストラクターを使用すると、studentRepositoryの別の実装を渡すことができます。リポジトリの具体的な実装ではなく、インターフェースを受け入れることに注意してください。これは、データベースにアクセスする必要のない偽のリポジトリを渡すことができる単体テストに役立ちます。このコンストラクターを依存性注入とともに使用することもできます。

于 2013-01-09T18:38:35.863 に答える
0

オプションの ctor は新しいコンテキストを作成しませんが、オプションの ctor は作成します。コンテキストは StudentRepository の ctor に設定されます。

于 2013-01-09T18:36:34.100 に答える