我有一个ASP.NET应用程序,该应用程序使用分层架构,例如表示层、业务逻辑层、数据访问层.

我不想让业务层知道数据访问层是如何实现的,我也不想使用EntityDataSource或类似的东西将实体直接绑定到数据控件.(所以是存储库模式场景)

我只是想使用实体框架作为ORM工具来生成类.我知道怎么做.我不清楚的是

  1. 建议通过应用程序向上传播这些类,以便业务逻辑层处理实体框架直接创建的部分类吗?(例如,如果我在sql中有一个customer表,实体fw将创建一个customer类,该类可能直接用于我的应用程序的所有层)
  2. 如果我的BLL调用了几个不同的实体类,但希望将其视为一个事务,那么如何管理事务支持

推荐答案

  1. If you are practical: Yes! It will avoid you double mapping work and the potential errors generated by the double mapping. (By double mapping I mean DB -> ORM and ORM -> Business logic).
  2. 使用TransactionScope.这是进行事务而不用担心嵌套事务的最佳方式.

Asp.net相关问答推荐

缓存httpmessage内容

如何在没有 Select 按钮的情况下在 GridView 中实现全行 Select ?

从数据库中检索数据的最快方法

在 EF4.1 中正确地从上下文中附加和分离实体

如何为发布模式设置调试错误

威胁已经被清除了

VS2013发布Web部署任务失败文件正在使用中

使用 jQuery.ajax() 时如何处理错误?

如何在 ASP.NET Web 窗体中使用依赖注入

在 RedirectToAction 调用中传播 QueryString 参数

使用 Elmah 处理 Web 服务中的异常

HttpModules 的执行顺序是如何确定的?

将数据表导出到 Excel 文件

使用 LINQ 进行递归控制搜索

svg 无法在 localhost 上的 IIS 网络服务器上运行

如何从url中删除returnurl?

将当前谷歌 map 保存为图片

通过 CultureInfo 格式化字符串

重新生成designer.cs

MVC4 中 Global.asax.cs 页面中的问题