Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / ndp / fx / src / DataEntity / System / Data / Objects / ObjectStateEntryDbUpdatableDataRecord.cs / 1 / ObjectStateEntryDbUpdatableDataRecord.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- using System; using System.ComponentModel; using System.Data; using System.Data.Common; using System.Data.Metadata.Edm; using System.Data.Objects; using System.Diagnostics; using System.Reflection; namespace System.Data.Objects { internal sealed class ObjectStateEntryDbUpdatableDataRecord : CurrentValueRecord { internal ObjectStateEntryDbUpdatableDataRecord(ObjectStateEntry cacheEntry, StateManagerTypeMetadata metadata, object userObject) : base(cacheEntry, metadata, userObject) { EntityUtil.CheckArgumentNull(cacheEntry, "cacheEntry"); EntityUtil.CheckArgumentNull(userObject, "userObject"); EntityUtil.CheckArgumentNull(metadata, "metadata"); Debug.Assert(!cacheEntry.IsKeyEntry, "Cannot create an ObjectStateEntryDbUpdatableDataRecord for a key entry"); switch (cacheEntry.State) { case EntityState.Unchanged: case EntityState.Modified: case EntityState.Added: break; default: throw EntityUtil.CannotCreateObjectStateEntryDbUpdatableDataRecord(); } } internal ObjectStateEntryDbUpdatableDataRecord(ObjectStateEntry cacheEntry) : base(cacheEntry) { EntityUtil.CheckArgumentNull(cacheEntry, "cacheEntry"); Debug.Assert(cacheEntry.IsRelationship, "Wrong ctor is called for entity"); Debug.Assert(!cacheEntry.IsKeyEntry, "Cannot create an ObjectStateEntryDbUpdatableDataRecord for a key entry"); switch (cacheEntry.State) { case EntityState.Unchanged: case EntityState.Modified: case EntityState.Added: break; default: throw EntityUtil.CannotCreateObjectStateEntryDbUpdatableDataRecord(); } } protected override object GetRecordValue(int ordinal) { if (_cacheEntry.IsRelationship) { return _cacheEntry.GetCurrentRelationValue(ordinal); } else { return _cacheEntry.GetCurrentEntityValue(_metadata, ordinal, _userObject, ObjectStateValueRecord.CurrentUpdatable); } } protected override void SetRecordValue(int ordinal, object value) { if (_cacheEntry.IsRelationship) { // Cannot modify relation values from the public API throw EntityUtil.CantModifyRelationValues(); } else { _cacheEntry.SetCurrentEntityValue(_metadata, ordinal, _userObject, value); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- using System; using System.ComponentModel; using System.Data; using System.Data.Common; using System.Data.Metadata.Edm; using System.Data.Objects; using System.Diagnostics; using System.Reflection; namespace System.Data.Objects { internal sealed class ObjectStateEntryDbUpdatableDataRecord : CurrentValueRecord { internal ObjectStateEntryDbUpdatableDataRecord(ObjectStateEntry cacheEntry, StateManagerTypeMetadata metadata, object userObject) : base(cacheEntry, metadata, userObject) { EntityUtil.CheckArgumentNull(cacheEntry, "cacheEntry"); EntityUtil.CheckArgumentNull(userObject, "userObject"); EntityUtil.CheckArgumentNull(metadata, "metadata"); Debug.Assert(!cacheEntry.IsKeyEntry, "Cannot create an ObjectStateEntryDbUpdatableDataRecord for a key entry"); switch (cacheEntry.State) { case EntityState.Unchanged: case EntityState.Modified: case EntityState.Added: break; default: throw EntityUtil.CannotCreateObjectStateEntryDbUpdatableDataRecord(); } } internal ObjectStateEntryDbUpdatableDataRecord(ObjectStateEntry cacheEntry) : base(cacheEntry) { EntityUtil.CheckArgumentNull(cacheEntry, "cacheEntry"); Debug.Assert(cacheEntry.IsRelationship, "Wrong ctor is called for entity"); Debug.Assert(!cacheEntry.IsKeyEntry, "Cannot create an ObjectStateEntryDbUpdatableDataRecord for a key entry"); switch (cacheEntry.State) { case EntityState.Unchanged: case EntityState.Modified: case EntityState.Added: break; default: throw EntityUtil.CannotCreateObjectStateEntryDbUpdatableDataRecord(); } } protected override object GetRecordValue(int ordinal) { if (_cacheEntry.IsRelationship) { return _cacheEntry.GetCurrentRelationValue(ordinal); } else { return _cacheEntry.GetCurrentEntityValue(_metadata, ordinal, _userObject, ObjectStateValueRecord.CurrentUpdatable); } } protected override void SetRecordValue(int ordinal, object value) { if (_cacheEntry.IsRelationship) { // Cannot modify relation values from the public API throw EntityUtil.CantModifyRelationValues(); } else { _cacheEntry.SetCurrentEntityValue(_metadata, ordinal, _userObject, value); } } } } // 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
- SQLInt16.cs
- ClientOptions.cs
- MulticastOption.cs
- CodeConditionStatement.cs
- CallSiteHelpers.cs
- UnauthorizedWebPart.cs
- DataSetMappper.cs
- Module.cs
- MembershipPasswordException.cs
- securestring.cs
- TagPrefixAttribute.cs
- _NestedSingleAsyncResult.cs
- OLEDB_Util.cs
- TileBrush.cs
- DbParameterCollection.cs
- CrossSiteScriptingValidation.cs
- HttpListenerResponse.cs
- _AutoWebProxyScriptEngine.cs
- EntityCollection.cs
- TextEditorThreadLocalStore.cs
- ConfigXmlSignificantWhitespace.cs
- XmlComplianceUtil.cs
- EntityDataSourceSelectingEventArgs.cs
- GlobalProxySelection.cs
- WeakReferenceKey.cs
- ScriptIgnoreAttribute.cs
- Ipv6Element.cs
- _AuthenticationState.cs
- brushes.cs
- PageCache.cs
- FontStyle.cs
- Matrix3DConverter.cs
- StateBag.cs
- unsafenativemethodstextservices.cs
- RunWorkerCompletedEventArgs.cs
- EventData.cs
- CultureTable.cs
- Cloud.cs
- SemaphoreFullException.cs
- NumberFormatInfo.cs
- XmlSchemaIdentityConstraint.cs
- AlphaSortedEnumConverter.cs
- PassportAuthentication.cs
- wgx_exports.cs
- DataSourceComponent.cs
- KeyProperty.cs
- ListViewUpdatedEventArgs.cs
- IsolatedStorageFile.cs
- RichTextBoxConstants.cs
- FormsAuthenticationTicket.cs
- HtmlEmptyTagControlBuilder.cs
- RepeaterItemCollection.cs
- SchemaManager.cs
- ObjectAnimationBase.cs
- EmbeddedMailObjectCollectionEditor.cs
- DecimalAnimation.cs
- WorkflowDesigner.cs
- WebChannelFactory.cs
- WorkflowEnvironment.cs
- HashAlgorithm.cs
- MetadataUtilsSmi.cs
- TextOptionsInternal.cs
- EditingCommands.cs
- BasicKeyConstraint.cs
- DrawingGroup.cs
- SqlDataSource.cs
- WindowsEditBox.cs
- Path.cs
- DesignerAutoFormat.cs
- RepeaterItemEventArgs.cs
- EllipseGeometry.cs
- PopupRootAutomationPeer.cs
- OpenTypeLayoutCache.cs
- RegisteredArrayDeclaration.cs
- RNGCryptoServiceProvider.cs
- DataSetFieldSchema.cs
- ProfileParameter.cs
- OleDbParameterCollection.cs
- PeerContact.cs
- CollectionChangeEventArgs.cs
- ObjectHandle.cs
- CLSCompliantAttribute.cs
- FileDialog.cs
- SqlMethodCallConverter.cs
- ExpressionBindingCollection.cs
- CharEntityEncoderFallback.cs
- Transform.cs
- IsolatedStoragePermission.cs
- CreateUserWizardAutoFormat.cs
- XmlNamespaceMappingCollection.cs
- NotFiniteNumberException.cs
- AppDomain.cs
- AddInIpcChannel.cs
- UIElementCollection.cs
- FillBehavior.cs
- Funcletizer.cs
- SmtpException.cs
- Model3D.cs
- ListBindingHelper.cs
- BrowserDefinition.cs