我有一个使用分层架构的ASP.NET应用程序,例如表示层,业务逻辑层,数据访问层。
我不希望业务层必须知道有关如何实现数据访问层的任何内容,而且我不打算使用EntityDataSource或类似的东西将实体直接绑定到数据控件。 (所以存储库模式方案)
我只是想将实体框架用作生成类的ORM工具。我知道怎么做。我不清楚的是
答案 0 :(得分:9)
答案 1 :(得分:3)
我怀疑这可能是你问题的答案:
http://code.msdn.microsoft.com/EFPocoAdapter/Release/ProjectReleases.aspx?ReleaseId=1580
该工具生成的类没有可以跨层传递的实体框架依赖关系。
答案 2 :(得分:2)
另一种方法是使用映射器类,使用EF纯粹作为数据访问,并使用仅在DAL中生成的EF类,然后通过映射器将这些DAL对象映射到BLL的对象。它对我们来说很好。
答案 3 :(得分:1)
现在使用新的EF4,您还可以使用POCO类,从而消除了在层之间映射实体的额外负担。在我们的应用程序中,我们使用EF4并在整个应用程序中使用业务实体,而不是查看所需的视图模型。它显着提升了性能。
答案 4 :(得分:0)
不是实体框架,但我曾尝试创建一个样本,其中两个插入存储过程在数据访问层中单独执行(使用数据访问应用程序块3.1),包装在Service / BLL中的TransactionScope上下文中,它没有工作。一个插入通过,另一个插入失败,数据WAS提交。
你自己做到了这个成功吗?
答案 5 :(得分:0)
即使你使用生成的POCO类,就像其他操作系统所建议的那样,你仍然需要保持对实体框架的某种依赖性:你发送给DbContext / ObjectContext的查询。因此,您应该考虑将查询封装在存储库中。