Да, используя xsd.exe
D:\temp>xsd test.xml
Microsoft (R) Xml Schemas/DataTypes support utility
[Microsoft (R) .NET Framework, Version 4.0.30319.1]
Copyright (C) Microsoft Corporation. All rights reserved.
Writing file 'D:\temp\test.xsd'.
D:\temp>xsd test.xsd /classes
Microsoft (R) Xml Schemas/DataTypes support utility
[Microsoft (R) .NET Framework, Version 4.0.30319.1]
Copyright (C) Microsoft Corporation. All rights reserved.
Writing file 'D:\temp\test.cs'.
Расположите метод для класса транзакции, выполняет откат, в то время как класс Oracle не делает. Таким образом с точки зрения транзакции это является зависящим от реализации.
using
оператор для объекта соединения, с другой стороны, или закрыл бы соединение с базой данных или возвратил бы соединение с пулом после сброса его. В любом случае должны откатываться выдающиеся транзакции. Вот почему исключение никогда не разбрасывает ложь активной транзакции.
кроме того, да, необходимо звонить Commit()
явно.
Необходимо назвать фиксацию. Оператор использования ничего не будет фиксировать для Вас.
Я полагаю, что, если существует исключение, таким образом, что Commit()
никогда не назывался, тогда транзакция будет автоматически откатывать.