在代码中是如何开事务的?
大概是这样,不在公司,所以不能贴上代码:
conn.open()
trans= conn.BeginTransaction();
cmd.Transaction = trans;
....
@编程笨笨:
如果不用存储过程,直接用SQL语句,在不在事务中呢?
@dudu: 直接用sql是可以的。
@编程笨笨: 那可能是不支持存储过程,为何不将事务直接写在存储过程中
@dudu: 不想把业务逻辑放存储过程中,我的存储过程只是做表中的某一列按行加+1,但是要保证在一个事务中。记得在SqlServer里是没问题的,mysql里不太懂。我已经放弃用存储过程了,直接在代码里拼凑sql语句。
@编程笨笨:
如果用Entity Framework就不会有这样的问题
@dudu: 是的,entity framework操作的是对象,最后才提交。 不过直接写sql执行效率高点。
@编程笨笨: 执行效率相差很小,可以忽略
@dudu: 嗯,用entity framework好处多多,方便维护,不用管下面是什么数据库了,也不用写sql。看具体情况吧。谢谢了!
那在哪儿执行了?
应该是它自己的事务吧