asp.net - 无法从 MySql/.net 连接器中的同一 session 读取未提交的数据

标签 asp.net mysql transactions

我一直在用这个把头撞在墙上,也许有人可以解释一下可能导致这种行为的原因。

我有一个 asp.net (2.0) 应用程序,在某种程度上:

using(TransactionScope 范围 = new TransactionScope(...)) {

//...做一些查询

插入订单();

插入订单详细信息();

//执行更多逻辑和查询

ReadOrder();//读取新插入的订单 OK

读取订单详细信息();//这是问题,我无法读取新插入的详细信息

//进行更多插入....

范围.Complete();

}

更多联系信息:

  • MySql5.0.27社区
  • MySql/net 连接器 5.2.3
  • Order 和 OrderDetails 是具有 FK 约束的 InnoDB
  • 已启用轮询(尽管我已尝试关闭轮询并具有相同的行为)
  • 我尝试在事务中设置不同的隔离级别,以防出现相同的行为,但这是相同的连接,所以应该不重要,对吗?

有人对可能导致此问题的原因有任何想法吗?

任何帮助将不胜感激

海梅

最佳答案

我的猜测是,您调用的不同函数正在获取不同的连接,因此它们看不到事务中未提交的更改。

检查这一点的一种方法是获取连接 ID 并进行比较。

关于asp.net - 无法从 MySql/.net 连接器中的同一 session 读取未提交的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/369975/

相关文章:

c# - 如何使用 jquery 或仅使用表单例份验证的 javascript 注销?

asp.net - NLog 不记录日志

mysql - 如何在 MySQL 中连接整个结果集?

MySQL:交替左连接三个表

c# - ASP.Net:设置DetailsView的宽度

c# - 是否可以减小来自字节数组的图像的大小

MySQL关于约束

php - mysql历史数据和记录id

sql-server - SQL Server 2005 : Why Name Transactions?

hibernate - 非事务性 GroovyTestCase 集成测试中的 GORM 事务