惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

MyScale Blog
MyScale Blog
Apple Machine Learning Research
Apple Machine Learning Research
H
Help Net Security
雷峰网
雷峰网
V
Visual Studio Blog
G
Google Developers Blog
Microsoft Azure Blog
Microsoft Azure Blog
Hugging Face - Blog
Hugging Face - Blog
爱范儿
爱范儿
IT之家
IT之家
Engineering at Meta
Engineering at Meta
Microsoft Security Blog
Microsoft Security Blog
aimingoo的专栏
aimingoo的专栏
大猫的无限游戏
大猫的无限游戏
M
MIT News - Artificial intelligence
月光博客
月光博客
A
About on SuperTechFans
B
Blog RSS Feed
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
The GitHub Blog
The GitHub Blog
N
Netflix TechBlog - Medium
J
Java Code Geeks
云风的 BLOG
云风的 BLOG
Blog — PlanetScale
Blog — PlanetScale

博客园 - !LEO

采用WF实现审批备案的流程定义 Inside Microsoft Windows SharePoint Services 3.0 Saas安全性问题讨论 Winform+WebService分层模型 Winform+WebService离线处理 使用BackgroundWorker控件进行异步处理 C#读取Word表格中的数据 在多个方法中共享database object的方式 Reporting Service 初体验 解决vs2005 安装项目不支持中文的问题 Mutex类解决进程线程互斥问题 Javascript调用C#静态函数 javascript:URL编解码和父子窗口交互 VisualStudio2005应用CSS和JavaScrpt的问题 两款oralce开发工具 NBear 不错 今日测试总结 SSIS计算行号 一起学习SSIS
NHibernate事务中执行SQL
!LEO · 2008-05-21 · via 博客园 - !LEO

近来在研究NHibernate。在实际应用中可能会遇到NHibernate操作数据库和手工Sql一起执行的情况。在百度里搜索了一下,有一些代码,但过于复杂。自己研究出了一种方法,测试通过。

ITransaction trans = Session.BeginTransaction();

code 
= this.SelectCode(codeType);
code.CODE_CurrentCode 
+= 1;
Session.Update(code);
Session.Flush();           

//usage session's connection
IDbCommand cmd = Session.Connection.CreateCommand();
cmd.CommandText 
= "UPDATE PBCODE SET CODE_Attribute = '1'";
cmd.CommandType 
= CommandType.Text;
trans.Enlist(cmd);
cmd.Prepare();            
cmd.ExecuteNonQuery();
//end

trans.Commit();

trans.Enlist(cmd)方法,就是给cmd赋上事务。