Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / ndp / fx / src / DataEntity / System / Data / Objects / ObjectStateEntryDbUpdatableDataRecord.cs / 2 / 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
- DefaultBindingPropertyAttribute.cs
- DataRecordInternal.cs
- TransactionChannel.cs
- COSERVERINFO.cs
- DataMisalignedException.cs
- Ray3DHitTestResult.cs
- HTMLTextWriter.cs
- FontUnit.cs
- SerializationHelper.cs
- TraceLevelStore.cs
- CompilationSection.cs
- NumericPagerField.cs
- TCPListener.cs
- DataGridColumnCollection.cs
- SessionParameter.cs
- FontEmbeddingManager.cs
- SymbolUsageManager.cs
- PassportAuthenticationEventArgs.cs
- DataBindingCollection.cs
- DesignerSerializationManager.cs
- ErrorView.xaml.cs
- HostingEnvironmentSection.cs
- DesignTimeVisibleAttribute.cs
- CodeSubDirectoriesCollection.cs
- DbConnectionStringBuilder.cs
- SendKeys.cs
- DescendantQuery.cs
- DelayedRegex.cs
- VirtualPathData.cs
- StylusDevice.cs
- Helper.cs
- ScriptModule.cs
- CrossContextChannel.cs
- HideDisabledControlAdapter.cs
- DebugView.cs
- SpecialNameAttribute.cs
- CompilationLock.cs
- ComAwareEventInfo.cs
- XhtmlConformanceSection.cs
- Freezable.cs
- DbMetaDataFactory.cs
- ObjectQuery.cs
- HttpProcessUtility.cs
- PKCS1MaskGenerationMethod.cs
- PointLight.cs
- DomainConstraint.cs
- AnchorEditor.cs
- Command.cs
- EventProviderWriter.cs
- Transform3D.cs
- ReferenceCountedObject.cs
- SimpleTableProvider.cs
- MultiBindingExpression.cs
- MSAAWinEventWrap.cs
- XmlBinaryWriterSession.cs
- CoTaskMemHandle.cs
- CodeChecksumPragma.cs
- DataGridBeginningEditEventArgs.cs
- Subtree.cs
- WindowsRegion.cs
- BitSet.cs
- MissingMethodException.cs
- XmlNamespaceMapping.cs
- Part.cs
- OdbcCommand.cs
- documentsequencetextview.cs
- VirtualizedItemPattern.cs
- SQLStringStorage.cs
- MultiBindingExpression.cs
- KeyEvent.cs
- DirectoryNotFoundException.cs
- WindowsStreamSecurityBindingElement.cs
- UriTemplateLiteralPathSegment.cs
- FontStretches.cs
- CollectionConverter.cs
- RuntimeArgumentHandle.cs
- EncodingInfo.cs
- DropDownButton.cs
- GeneralTransform3DTo2DTo3D.cs
- ToolStripItemEventArgs.cs
- serverconfig.cs
- RightsManagementPermission.cs
- ToolBarButtonDesigner.cs
- PathNode.cs
- DataGridSortCommandEventArgs.cs
- JournalEntry.cs
- ZipPackagePart.cs
- NameValueConfigurationElement.cs
- DataSet.cs
- EntityCollection.cs
- VirtualPathProvider.cs
- Odbc32.cs
- PathSegmentCollection.cs
- DesignerActionVerbList.cs
- SystemIPGlobalProperties.cs
- elementinformation.cs
- OptimizerPatterns.cs
- DecimalAverageAggregationOperator.cs
- ChildChangedEventArgs.cs
- RoleManagerModule.cs