1

我可以使用 MVC 解决方案的默认设计。例如,控制器:

public class ProductController : Controller
   {
       private Entities db = new Entities();

       public ViewResult Details( int id )
          {
              Product product = db.Products.Single( p => p.ID == id );
              return View( product );
          }
    }

但是我在一些大型项目中看到,调用任何方法,他们只使用服务,例如

public class ProductController : Controller<ISomeService>
{
 public ViewResult Details( int id )
    {
       Product product = MyService.GetProductById();
       return View( product );
    }
}

并且不在控制器中使用数据库实例,例如:

private Entities db = new Entities();

模型数据库业务逻辑是解决方案中的不同项目。

我可以从哪里了解任何样本中的这种结构?(抱歉英语不好)

4

1 回答 1

1

我会看看在 ASP.NET MVC 中使用依赖注入,这里有一篇关于这个主题的文章:

http://weblogs.asp.net/shijuvarghese/archive/2010/04/30/dependency-injection-in-nerddinner-app-using-ninject.aspx

然后看一下在实体框架中使用 Repository/UnitOfWork 模式,另一篇文章:

http://www.codeproject.com/Tips/309753/Repository-Pattern-with-Entity-Framework-4-1-and-C

如果你对自己编写所有这些代码不感兴趣,你可以使用,或者至少看看它是如何完成的,在这里:

http://mvcbootstrap.codeplex.com

于 2012-09-24T06:40:53.163 回答