Dapper 中使用事务
现在我的数据库中有两张表:MemberIno(会员表),LoginLog(登录日志表),当我们删除某一个会员时要求把这个会员的相关了登录日志记录也一起删除。
public static bool GetDeleteMember(int id)
{
using (var conn = new System.Data.SqlClient.SqlConnection(ConnString))
{
conn.Open();
//开户事务
var trans=conn.BeginTransaction();
var rows = conn.Execute("delete from MemberInfo where ID=@ID", new { ID = id }, trans);
if (rows > 0)
{
rows = conn.Execute("delete from LoginLog where MemberID=@ID", new { ID = id }, trans);
if (rows > 0)
trans.Commit();
else
trans.Rollback();
}
else
trans.Rollback();
conn.Close();
return rows > 0;
}
}
说明:注意开户事务是用connection对象调用BeginTransaction,并把返回的事务变量作为conn.Execute参数传进去。其实这个需求其实不一定非要使用事务,比如可以用外键的级联删除,这里只是为了演示怎么在dapper中使用事务。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。