CRL快速开发框架

发布时间:2017-2-28 3:12:31 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"CRL快速开发框架",主要涉及到CRL快速开发框架方面的内容,对于CRL快速开发框架感兴趣的同学可以参考一下。

 正文

使用事物是一个比较头疼的事,业务方法各种穿插,一般使用数据库事务,那就意味着在调用事务时,需要传递数据访问上下文

还有一种解决方案使用TransactionScope,使代码块成为事务,虽然没有直接使用数据库事务高效,但方便,容易开发

CRL默认为此事务

什么都不用传,真方便

方法定义

public bool PackageTrans(TransMethod method, out string error)

在方法体内随便写,返回成功或失败以控制事务

//简化了事务写法,自动提交回滚            return PackageTrans((out string ex) =>            {                ex = "";                var product = new ProductData();                product.BarCode = "code" + DateTime.Now.Millisecond;                product.Number = 10;                ProductDataManage.Instance.Add(product);                return false; //会回滚            }, out error);

同时也提供了数据库的事务,需要传数据访问对象

方法定义

public bool PackageTrans2(AbsDBExtend db, TransMethod method, out string error)

多加了个db参数,返回成功或失败以控制db事务

            //简化了事务写法,自动提交回滚            return PackageTrans2(db,(out string ex) =>            {                ex = "";                var product = new ProductData();                product.BarCode = "code" + DateTime.Now.Millisecond;                product.Number = 10;                db.InsertFromObj(product);                return false; //会回滚            }, out error);

在面对象开发中,不可能一直带着数据访问上下文的尾巴,为了省事,使用第一种方式吧,简便无优!

上一篇:[转]NopCommerce 多数据库方案
下一篇:WCF学习之旅—第三个示例之五(三十一)

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。