【发布时间】:2013-06-21 21:53:54
【问题描述】:
我正在开发一个 ASP.NET MVC 项目。在我的解决方案中,我有以下项目: BlogApp.Web(ASP.NET MVC 应用程序), BlogApp.Data(类库)
我想知道如何实现数据访问层。我想使用 EntityFramework Code First 方法。我在考虑存储库模式,但这真的有必要吗?我读过它只是 ORM 之上的下一层,这并不是真正需要的。所以不要像这样写方法:
GetAllPosts(Tag t) {
db.Posts.Where(p => p.Tags.Contains(t)).Skip(x).Take(y).Select(p => p);
}
我在控制器中创建数据库上下文并编写相同的查询?我不需要在我的模型周围实现分页和编写包装器。
【问题讨论】:
-
参考DRY原则:不要重复自己。在短期内,设置可能需要更长的时间(与大量复制和粘贴相比没有那么长),但从长远来看,它将为您节省大量的维护和测试时间,因此调试 - 我们都知道这可能需要更长的时间首先编写代码。
标签: asp.net-mvc data-access-layer