asp.net-mvc – 使用DI和不使用EF实现工作单元
发布时间:2020-12-16 09:37:54 所属栏目:asp.Net 来源:网络整理
导读:我有asp.net MVC应用程序,城堡windsor作为DI和拦截器工作. 目前Dapper用于ORM mappring,Dapper是实体映射提供程序的简单对象,它与ADO .Net连接,公共对象一起工作. 我们已经有了存储库和业务服务层,现在我想实现工作单元. 我知道EF具有自动事务功能,而SaveCha
我有asp.net MVC应用程序,城堡windsor作为DI和拦截器工作.
目前Dapper用于ORM mappring,Dapper是实体映射提供程序的简单对象,它与ADO .Net连接,公共对象一起工作. 我们已经有了存储库和业务服务层,现在我想实现工作单元. 我知道EF具有自动事务功能,而SaveChanges()使所有实体更改持久化. 有没有办法让非EF,多层应用的工作单位? 解决方法
我想你正在寻找某种AOP.
看看这个例子 http://www.sharpcrafters.com/solutions/transaction. 您可以使用该属性使用事务包装您的方法,甚至可以更好地声明它将用于BAL中的所有方法,如下所示: [assembly: TransactionScope( AttributeTargetTypes = "MyBALNamespace.*",AttributeTargetTypeAttributes = MulticastAttributes.Public,AttributeTargetMemberAttributes = MulticastAttributes.Public )] 如上所述:http://www.sharpcrafters.com/solutions/logging 更新 当您使用TransactionScope时,尽量避免不必要的事务升级到MSDTC.如果您在TransactionScope期间打开了两个连接(甚至是同一个数据库),它将立即升级到DTC,这会对性能产生影响(有时它可能导致范围配置上出现意外的异常) – 这是SQLServer2008的行为.在范围内,您应该只使用一个连接,然后在打开另一个之前关闭第一个连接. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 如何解决HP QC(Quality Center)在Windows 7下不能工作的问题
- asp.net – 我是否需要viewstate来输入控件,如复选框,文本框
- asp.net-mvc-3 – 使用辅助方法对MVC3 / Razor中的DropDown
- asp.net – 从IE8中的OBJECT标记调用.Net程序集
- asp.net-mvc – ASP.NET MVC快速教程
- asp.net – Favicon没有显示
- asp.net-mvc – 在ASP.NET MVC中使用域对象和视图模型时避免
- 最容易与ASP.NET集成的视频播放器?
- 支持Ajax跨域访问ASP.NET Web Api 2(Cors)的示例教程
- ASP.NET MVC 中枚举生成下拉框
推荐文章
站长推荐
- asp.net-mvc-2 – 如何通过ASP.NET MVC 2.0中的t
- asp.net-core – Visual Studio 2015中的ASP.NET
- asp.net-mvc-3 – ASP.NET MVC 3本地化验证消息在
- asp.net-mvc-4 – Require.js优化vs asp.net mvc
- asp.net – WCF – 找到了该合同的多个端点配置
- asp.net-mvc – 一种在MVC环境中处理返回URL的智
- asp.net-mvc-3 – ASP.NET性能分析404/500错误
- 如何默认选择一个单选按钮 – asp.net mvc强类型
- asp.net – 使用javascript从Formview获取对象
- asp经典 – 早期从经典ASP中的函数返回
热点阅读