2011-08-17 118 views
0

当使用“具有读/写操作和视图的控制器,使用EntityFramework”作为模板在ASP.Net MVC 3中添加控制器时,它将生成一个类,如下所示:ASP.Net MVC 3 - 在BaseController中实例化数据上下文类

现在
namespace Project.Controllers 
{ 
    public class Default1Controller : Controller 
    { 
     private ProjectEntities db = new ProjectEntities(); 

     ... 
    } 
} 

,我想知道这是否会改变这个让我的控制器将继承一个自定义的基本控制器,将实例ProjectEntities一个很好的做法。它看起来如下:

BaseController:

namespace MatchesHorsConcours.Controllers 
{ 
    public class BaseController : Controller 
    { 
     protected MatchesEntities db = new MatchesEntities(); 
     ... 
    } 
} 

其它控制器:

namespace Project.Controllers 
{ 
    public class Default1Controller : BaseController 
    { 
    ... 
    } 
} 
+1

最好使用依赖注入实践。有很多图书馆可以做到这一点。仅举几例,Ninject,Castle Windsor或Autofac –

回答

1

没有绝对不是。它使完全无法测试。如果可能,请使用存储库模式和构造器注入:Repository Pattern vs DAL