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
- WebPartPersonalization.cs
- ProviderUtil.cs
- CacheAxisQuery.cs
- ErrorHandler.cs
- ReturnValue.cs
- ResolveCriteria11.cs
- DataGridAutoFormatDialog.cs
- TextTreeNode.cs
- PersonalizationStateQuery.cs
- ResourceKey.cs
- BitmapEffectvisualstate.cs
- streamingZipPartStream.cs
- XXXOnTypeBuilderInstantiation.cs
- MasterPageParser.cs
- TabControlCancelEvent.cs
- nulltextnavigator.cs
- ValidationRuleCollection.cs
- XmlTextAttribute.cs
- DetailsViewDeleteEventArgs.cs
- SourceElementsCollection.cs
- ServiceElement.cs
- XpsSerializationManagerAsync.cs
- Misc.cs
- CheckedPointers.cs
- SqlCacheDependency.cs
- WorkflowNamespace.cs
- DataContractSerializerOperationGenerator.cs
- CallContext.cs
- WindowsFont.cs
- DoubleConverter.cs
- ListManagerBindingsCollection.cs
- LowerCaseStringConverter.cs
- AnyReturnReader.cs
- AssertSection.cs
- WebCategoryAttribute.cs
- CreateSequenceResponse.cs
- DataGridViewColumnTypePicker.cs
- PackWebResponse.cs
- SchemaTableOptionalColumn.cs
- TypedColumnHandler.cs
- OlePropertyStructs.cs
- WpfPayload.cs
- PolyLineSegment.cs
- DocumentXmlWriter.cs
- UserControlAutomationPeer.cs
- MatrixAnimationBase.cs
- TextEffect.cs
- RadialGradientBrush.cs
- SelectionRange.cs
- NativeMethods.cs
- BasicHttpBinding.cs
- Camera.cs
- SByteConverter.cs
- Typography.cs
- EdmFunctions.cs
- TextSelection.cs
- DataGridViewAutoSizeModeEventArgs.cs
- UIElement3D.cs
- DelayLoadType.cs
- EntityDataSourceStatementEditorForm.cs
- SelectionHighlightInfo.cs
- ResourceAttributes.cs
- XmlDataImplementation.cs
- FieldBuilder.cs
- ListSortDescription.cs
- DefinitionBase.cs
- DataColumnChangeEvent.cs
- DataIdProcessor.cs
- PropertyOverridesDialog.cs
- MessageQueueCriteria.cs
- AdapterUtil.cs
- LOSFormatter.cs
- DescendantQuery.cs
- PropertyPathConverter.cs
- DataGridViewRowsAddedEventArgs.cs
- WebPartMovingEventArgs.cs
- DynamicDataManager.cs
- Expressions.cs
- SecureEnvironment.cs
- CannotUnloadAppDomainException.cs
- ArgumentOutOfRangeException.cs
- MulticastNotSupportedException.cs
- ReadWriteObjectLock.cs
- RestHandlerFactory.cs
- TypeDependencyAttribute.cs
- CompiledXpathExpr.cs
- RoutingSection.cs
- SecUtil.cs
- ListViewVirtualItemsSelectionRangeChangedEvent.cs
- ProcessThread.cs
- SByteStorage.cs
- CheckableControlBaseAdapter.cs
- EndpointFilterProvider.cs
- HttpWebResponse.cs
- connectionpool.cs
- SimpleBitVector32.cs
- UIElementPropertyUndoUnit.cs
- IdentityHolder.cs
- DesignerHelpers.cs
- SqlNode.cs