Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / EntityClient / EntityTransaction.cs / 1305376 / EntityTransaction.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- using System.Collections.Generic; using System.Text; using System.Data; using System.Data.Common; using System.Diagnostics; namespace System.Data.EntityClient { using Metadata.Edm; ////// Class representing a transaction for the conceptual layer /// public sealed class EntityTransaction : DbTransaction { private EntityConnection _connection; private DbTransaction _storeTransaction; ////// Constructs the EntityTransaction object with an associated connection and the underlying store transaction /// /// The EntityConnetion object owning this transaction /// The underlying transaction object internal EntityTransaction(EntityConnection connection, DbTransaction storeTransaction) : base() { Debug.Assert(connection != null && storeTransaction != null); this._connection = connection; this._storeTransaction = storeTransaction; } ////// The connection object owning this transaction object /// public new EntityConnection Connection { get { // follow the store transaction behavior return ((null != _storeTransaction.Connection) ? _connection : null); } } ////// The connection object owning this transaction object /// protected override DbConnection DbConnection { get { // follow the store transaction behavior return ((null != _storeTransaction.Connection) ? _connection : null); } } ////// The isolation level of this transaction /// public override IsolationLevel IsolationLevel { get { return this._storeTransaction.IsolationLevel; } } ////// Gets the DbTransaction for the underlying provider transaction /// internal DbTransaction StoreTransaction { get { return this._storeTransaction; } } ////// Commits the transaction /// public override void Commit() { try { this._storeTransaction.Commit(); } catch (Exception e) { if (EntityUtil.IsCatchableExceptionType(e)) { throw EntityUtil.Provider(@"Commit", e); } throw; } this.ClearCurrentTransaction(); } ////// Rolls back the transaction /// public override void Rollback() { try { this._storeTransaction.Rollback(); } catch (Exception e) { if (EntityUtil.IsCatchableExceptionType(e)) { throw EntityUtil.Provider(@"Rollback", e); } throw; } this.ClearCurrentTransaction(); } ////// Cleans up this transaction object /// /// true to release both managed and unmanaged resources; false to release only unmanaged resources protected override void Dispose(bool disposing) { if (disposing) { this.ClearCurrentTransaction(); this._storeTransaction.Dispose(); } base.Dispose(disposing); } ////// Helper method to wrap EntityConnection.ClearCurrentTransaction() /// private void ClearCurrentTransaction() { if (_connection.CurrentTransaction == this) { _connection.ClearCurrentTransaction(); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- QueryStringHandler.cs
- TraceSection.cs
- MemberMaps.cs
- AmbientLight.cs
- Overlapped.cs
- Delegate.cs
- EndOfStreamException.cs
- BasicHttpSecurity.cs
- SubMenuStyle.cs
- Solver.cs
- AppDomainAttributes.cs
- PrintDocument.cs
- UndoEngine.cs
- DBParameter.cs
- HandlerBase.cs
- MenuItemBindingCollection.cs
- DecimalConstantAttribute.cs
- Font.cs
- Roles.cs
- ClientApiGenerator.cs
- VirtualDirectoryMappingCollection.cs
- SafeWaitHandle.cs
- DataGridViewHitTestInfo.cs
- EmptyReadOnlyDictionaryInternal.cs
- CompilerInfo.cs
- RectangleF.cs
- MouseDevice.cs
- CharacterMetrics.cs
- StylusOverProperty.cs
- AsmxEndpointPickerExtension.cs
- ForEachAction.cs
- GridPattern.cs
- LinqDataSourceSelectEventArgs.cs
- SpotLight.cs
- SqlFactory.cs
- ReferentialConstraint.cs
- ConfigXmlCDataSection.cs
- IPGlobalProperties.cs
- documentsequencetextview.cs
- BrowserCapabilitiesCodeGenerator.cs
- ObjectSet.cs
- _TLSstream.cs
- XXXOnTypeBuilderInstantiation.cs
- XmlElementElementCollection.cs
- CatalogPartChrome.cs
- RelationshipNavigation.cs
- TransformedBitmap.cs
- ConditionalAttribute.cs
- CookieParameter.cs
- IndentedWriter.cs
- ScriptHandlerFactory.cs
- _SslStream.cs
- TripleDESCryptoServiceProvider.cs
- XmlDataSourceNodeDescriptor.cs
- WebAdminConfigurationHelper.cs
- SafeHandles.cs
- BufferedGraphics.cs
- SafeLibraryHandle.cs
- CombinedGeometry.cs
- JournalNavigationScope.cs
- SqlNotificationRequest.cs
- Update.cs
- DoubleAnimation.cs
- CodeEventReferenceExpression.cs
- SelectionProcessor.cs
- ReaderWriterLock.cs
- SafeMILHandle.cs
- FormViewDeleteEventArgs.cs
- IxmlLineInfo.cs
- BlurEffect.cs
- PenContext.cs
- ExpressionNode.cs
- OrderPreservingPipeliningSpoolingTask.cs
- MediaElementAutomationPeer.cs
- Buffer.cs
- XmlDataCollection.cs
- New.cs
- SqlCharStream.cs
- UnaryNode.cs
- CompareValidator.cs
- SamlAuthorityBinding.cs
- LineSegment.cs
- Rotation3D.cs
- XmlChoiceIdentifierAttribute.cs
- WebControlsSection.cs
- Section.cs
- AccessDataSourceView.cs
- EncoderParameters.cs
- WebPartEditorApplyVerb.cs
- ComPersistableTypeElementCollection.cs
- WmlMobileTextWriter.cs
- BinaryCommonClasses.cs
- SecurityContext.cs
- ConsumerConnectionPoint.cs
- ArraySortHelper.cs
- Parser.cs
- KnownTypesHelper.cs
- ForeignKeyConstraint.cs
- Visual3D.cs
- DataGridViewElement.cs