Entity framework 4 实体框架4网站架构

Entity framework 4 实体框架4网站架构,entity-framework-4,n-tier-architecture,Entity Framework 4,N Tier Architecture,嗨,我被赋予了使用EntityFramework4创建一个N-Teir网站的任务,我遇到了一些困难,据我所知,很可能是困难重重 到目前为止,我的计划是有这些层 网站(应用层), 我称之为Name.Framework(BLL), 名称.数据(DAL), 名称.实体(包含在网站/bll中使用的POCO类和其他结构类, Name.Common(实用程序类) 我曾尝试使用repository类,但我正在努力使事情按照我认为的方式进行 如果我想使用.include(),这是在我的存储库中还是由业务层负责?

嗨,我被赋予了使用EntityFramework4创建一个N-Teir网站的任务,我遇到了一些困难,据我所知,很可能是困难重重

到目前为止,我的计划是有这些层

网站(应用层),
我称之为Name.Framework(BLL),
名称.数据(DAL),
名称.实体(包含在网站/bll中使用的POCO类和其他结构类,
Name.Common(实用程序类)

我曾尝试使用repository类,但我正在努力使事情按照我认为的方式进行

如果我想使用.include(),这是在我的存储库中还是由业务层负责?(我不知道这在BLL中如何工作)

与.Order()相同的问题?据我所知,这需要存储在存储库中,或者至少以某种方式传递到回购协议中

我是否应该使用BLL将上下文传递到存储库/数据层?当我从数据层获取实体时,任何未在repo中引用的导航属性都会返回“Object Context Disposed”,业务层是否仍保留上下文等,以避免发生这种情况

或者总结一下这个帮助

我需要在明天(eek!)之前将其整理好,因为项目负责人想知道我们是要继续使用实体框架,还是要迁移到NHibernate,因为我们对它有更多的了解

谢谢你的帮助和建议
Matt

我目前正在从事一个仅使用EF4代码的网络爱好项目,其中我有以下结构([name]是我项目的名称):

  • [name].Web-一个ASP.NET MVC 2项目
  • [name].Web.Models-自定义视图模型,以及来自实体对象的自动映射
  • [名称].模型-我的POCO类和存储库接口
  • [name].DataAccess—一些与数据访问相关的接口,例如
    IUnitOfWork
  • [name].DataAccess.EF-所有与实体框架相关的类和接口
我也有一个测试项目,上面每一个,加上几个项目的帮助和扩展的测试


提到这个嗜好项目的部分目的是让我学习如何将EF4与我自己选择的一些设计模式结合使用(在这个项目中,与EF相关的是存储库模式和工作单元模式)。另一个部分目的是建立一个代码库,我可以在以后的项目中重用,这影响了我应用程序中项目之间的划分-例如,如果我不关心重用,我可能会将所有与数据访问相关的类放在一个项目中,而不是两个项目中。

我已经实现了基本的EF、poco、Repository、UnitOF工作体系结构主要遵循本文:


我发现它对这些努力非常有帮助。不知道它是否对你有帮助,但其他人可能对该链接感兴趣。

我自己也在寻找类似的东西。目前没有过多地研究它,但看起来很有希望。

不幸的是,你提供的链接目前已失效。