0
コントローラで使用されるエンティティとサービスを宣言するのに最適な場所はどこですか?コンストラクタまたはアクション内で?コントローラ内のエンティティとサービスを宣言する場所
public class CourseController : Controller
{
MyEntities entities; //DECLARE THIS HERE?
private readonly IMyService _service; //DECLARE THIS HERE?
public MyController()
{
entities = new MyEntities(); //INITIALIZE HERE?
_service = new MyService(_entities); //INITIALIZE HERE?
}
public ActionResult Detail(int ID)
{
using (MyEntities _entities = new MyEntities()) //OR DECLARE AND INITILIZE HERE?
{
IMyService _service = new MyService(_entities); //OR DECLARE AND INITILIZE HERE?
var myCourse = _service.GetCourseById(ID);
return View(myCourse);
}
}
}
私はこれをさらに1ステップ進めて、依存性注入容器を使用します。 Ninjectは設定と学習が非常に簡単です。 Ninject.MVC3 Nugetパッケージをインストールし、App_Startフォルダに作成したファイルに依存関係を設定するだけです。 – Dismissile