Не удается прочитать незафиксированные данные из того же сеанса в MySql / .net соединитель - PullRequest
0 голосов
/ 16 декабря 2008

Я бился головой об стену этим, может быть, кто-то может пролить свет на то, что может быть причиной такого поведения.

У меня есть приложение asp.net (2.0), которое в какой-то момент делает:

использование (TransactionScope scope = новый TransactionScope (...)) {

// ... выполнить несколько запросов

InsertOrder ();

InsertOrderDetails ();

// сделать еще немного логики и запросов

ReadOrder (); // читает вновь вставленный ордер OK

ReadOrderDetails (); // ЗДЕСЬ ПРОБЛЕМА, Я НЕ МОГУ ЧИТАТЬ ВСТАВЛЕННЫЕ ДЕТАЛИ

// сделать больше вставок ....

scope.Complete (); * * тысяча двадцать-один

}

Дополнительная информация:

  • Сообщество MySql5.0.27
  • Разъем MySql / net 5.2.3
  • Order и OrderDetails - это InnoDB с ограничениями FK
  • Опрос включен (хотя я пытался отключить опрос и работает так же)
  • Я пытался установить разные уровни изоляции в транзакции на случай одного и того же поведения, но это одно и то же соединение, поэтому оно не должно иметь значения, верно?

У кого-нибудь есть идеи о том, что может быть причиной этого?

Любая помощь будет принята с благодарностью

Jaime

Ответы [ 2 ]

1 голос
/ 16 декабря 2008

Я предполагаю, что разные функции, которые вы вызываете, выбирают разные соединения, поэтому они не видят незафиксированные изменения в транзакции.

Один из способов проверить это - получить идентификатор соединения и сравнить его.

0 голосов
/ 17 июня 2011

Я на самом деле делал глупость с запросом, не позволяющим ему вернуть какой-либо результат ... Ничего общего с транзакцией или MySql

...