【发布时间】:2012-03-13 16:34:49
【问题描述】:
我必须逐渐用 ASP.NET MVC3 分层 应用程序替换 ASP.NET Web 窗体 应用程序。让我们只考虑 Repository 层。
在我的新 MVC 应用程序中,我有一个用于 Data(名称 MVC.Data)的项目和一个用于 Web 的项目。
在MVC.Data 中,我有一个 edmx 文件,其中包含 EF 类,它仅对 DB 表(无视图)进行建模,还有一个 Respository 类 myRepository,它提供了执行简单查询的方法.
在旧的 Web 窗体应用程序中,我有一个 GridView,它使用 DataSource 填充一个 SQL 数据库 视图。
为了在我的新 MVC3 应用程序中获得相同的结果,我有两个选择:
1) 创建一个服务层(和项目MVC.Services),其中我有一个填充新类myViewClass 的方法,该类包含SQL DB 视图的所有字段并给它到控制器。
2) 在MVC.Data 项目中创建一个类,该类由其构造函数通过直接针对 EF 类使用 LINQ 语句直接填充。
我了解了工厂模式,第一种解决方案似乎是最合适的,但是很多人总是建议不要创建不需要的服务层。在这种情况下,最好的选择是什么?
【问题讨论】:
标签: asp.net-mvc-3 service repository-pattern factory-pattern