如果我的 DAL 使用 dapper-dot-net,如何创建交易?
我的 C# winform 应用程序将在网络中使用,数据将保存到中央 SQL 服务器。
我的用例需要使用事务。我可以使用 dapper 来完成此操作,还是需要使用 NHibernate 之类的东西?
另外,如果我使用存储过程,此框架是否存在任何风险或限制?由于任何可能的限制,我是否需要改变我的方法?
我在使用存储过程方面没有遇到任何限制,并且使用 dapper 所面临的风险与使用存储过程所面临的风险相同
这是一个关于如何使用 dapper 进行事务处理的简单示例
using (var connection = Db.GetConnection())
{
connection.Open();
IDbTransaction transaction = connection.BeginTransaction();
try
{
var newId= connection.Query<int>(@"Select id from table1 where id=@id", new{id}, transaction).Single();
connection.Execute(@"INSERT into table1 ...",new {p1, p2}, transaction);
connection.Execute(@"INSERT into table2 ...",new {p1, p2}, transaction);
transaction.Commit();
}
catch (Exception ex)
{
transaction.Rollback();
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)