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
- HttpCapabilitiesSectionHandler.cs
- DynamicDataManager.cs
- TextBoxRenderer.cs
- BrowserInteropHelper.cs
- LazyTextWriterCreator.cs
- ProtocolsConfiguration.cs
- StorageScalarPropertyMapping.cs
- HotCommands.cs
- OleCmdHelper.cs
- WorkflowRuntimeBehavior.cs
- NavigationHelper.cs
- HashCodeCombiner.cs
- TextSearch.cs
- SqlFactory.cs
- PermissionSetEnumerator.cs
- PasswordRecoveryDesigner.cs
- XmlCollation.cs
- Form.cs
- EDesignUtil.cs
- GeneralTransform3DTo2D.cs
- TypeSchema.cs
- BinaryReader.cs
- RecipientInfo.cs
- SHA1.cs
- OpenTypeCommon.cs
- SiteMapDataSourceView.cs
- AxParameterData.cs
- Sequence.cs
- SmtpNtlmAuthenticationModule.cs
- Interlocked.cs
- NetworkInformationException.cs
- EntityDataSourceChangedEventArgs.cs
- InvokePatternIdentifiers.cs
- WinEventTracker.cs
- ZeroOpNode.cs
- DefaultEventAttribute.cs
- LinkClickEvent.cs
- CommentEmitter.cs
- OdbcConnectionPoolProviderInfo.cs
- OdbcPermission.cs
- RegexNode.cs
- CustomLineCap.cs
- DirectoryRedirect.cs
- WindowsFormsSectionHandler.cs
- IxmlLineInfo.cs
- Utils.cs
- TextCompositionManager.cs
- RadioButtonRenderer.cs
- HMACMD5.cs
- SqlSupersetValidator.cs
- Behavior.cs
- XmlSchemaInclude.cs
- Underline.cs
- DataObjectEventArgs.cs
- URI.cs
- KnownColorTable.cs
- BaseComponentEditor.cs
- BindableTemplateBuilder.cs
- EntityStoreSchemaFilterEntry.cs
- SiteMap.cs
- MessageSecurityException.cs
- UnsafeNativeMethods.cs
- GridViewHeaderRowPresenter.cs
- PriorityChain.cs
- ADConnectionHelper.cs
- IntSecurity.cs
- OpenTypeMethods.cs
- HttpException.cs
- TextEndOfLine.cs
- RIPEMD160.cs
- MachineKeyConverter.cs
- RijndaelManagedTransform.cs
- ValueProviderWrapper.cs
- EntitySetDataBindingList.cs
- DirectoryNotFoundException.cs
- OdbcConnectionStringbuilder.cs
- OrderedDictionaryStateHelper.cs
- ElementProxy.cs
- SortQueryOperator.cs
- FontWeights.cs
- TextFormatterImp.cs
- FormatterServices.cs
- HttpValueCollection.cs
- StylusLogic.cs
- HtmlTableRow.cs
- WebResourceAttribute.cs
- TextTreeNode.cs
- SecurityRequiresReviewAttribute.cs
- StreamReader.cs
- MultipleViewPattern.cs
- IdentifierService.cs
- WebUtil.cs
- FixedSOMPage.cs
- SqlParameterCollection.cs
- AutomationAttributeInfo.cs
- DataGridView.cs
- ArgumentValueSerializer.cs
- DataService.cs
- WebBaseEventKeyComparer.cs
- DefaultAsyncDataDispatcher.cs