using用用还是蛮好的

[ 2008-01-16 19:14:34 | 作者: progame ]
文字大小: | |

因为考虑到数据库要支持sqlite, 而且数据访问层本身就是不允许并发的, 原因在于DataReader的连接不可断性, 所以我有一个全局的类去得到Session, 一旦得到, 马上自动开启事务, 而这个方法是通过lock来锁定防止并发, 如果session仍然在事务中, 则等待到事务完成才可以访问

得到session可以直接把事务开启, 但事务还得显式关闭, 每个地方都来一次关闭事务也挺烦的, 于是干脆加了一个DBContext类, 实现IDispose接口, 在释放时去关闭事务, 现在用起来感觉就很拉风了:

using (var context = new DBContext())
{
return context.Session.GetList(Domain.Category.Type == (int)type);
}

因为要加一个using在外面, 这样也就让自己不得不去尽量写短小点的函数, 否则括起来就很难看了

评论Feed 评论Feed: /feed.asp?q=comment&id=1427

这篇日志没有评论.

发表
表情图标
[smile] [confused] [cool] [cry]
[eek] [angry] [wink] [sweat]
[lol] [stun] [razz] [redface]
[rolleyes] [sad] [yes] [no]
[heart] [star] [music] [idea]
UBB代码
转换链接
表情图标
悄悄话
用户名:   密码:   (非注册用户不需要输入密码) 注册?
验证码(不区分大小写) * 请输入验证码