Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / Objects / ObjectStateEntryDbUpdatableDataRecord.cs / 1305376 / 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(EntityEntry 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: Debug.Assert(false, "A CurrentValueRecord cannot be created for an entity object that is in a deleted or detached state."); break; } } internal ObjectStateEntryDbUpdatableDataRecord(RelationshipEntry cacheEntry) : base(cacheEntry) { EntityUtil.CheckArgumentNull(cacheEntry, "cacheEntry"); switch (cacheEntry.State) { case EntityState.Unchanged: case EntityState.Modified: case EntityState.Added: break; default: Debug.Assert(false, "A CurrentValueRecord cannot be created for an entity object that is in a deleted or detached state."); break; } } protected override object GetRecordValue(int ordinal) { if (_cacheEntry.IsRelationship) { return (_cacheEntry as RelationshipEntry).GetCurrentRelationValue(ordinal); } else { return (_cacheEntry as EntityEntry).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 as EntityEntry).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(EntityEntry 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: Debug.Assert(false, "A CurrentValueRecord cannot be created for an entity object that is in a deleted or detached state."); break; } } internal ObjectStateEntryDbUpdatableDataRecord(RelationshipEntry cacheEntry) : base(cacheEntry) { EntityUtil.CheckArgumentNull(cacheEntry, "cacheEntry"); switch (cacheEntry.State) { case EntityState.Unchanged: case EntityState.Modified: case EntityState.Added: break; default: Debug.Assert(false, "A CurrentValueRecord cannot be created for an entity object that is in a deleted or detached state."); break; } } protected override object GetRecordValue(int ordinal) { if (_cacheEntry.IsRelationship) { return (_cacheEntry as RelationshipEntry).GetCurrentRelationValue(ordinal); } else { return (_cacheEntry as EntityEntry).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 as EntityEntry).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
- DataReaderContainer.cs
- RequestQueryProcessor.cs
- MetricEntry.cs
- BaseDataList.cs
- WinFormsSpinner.cs
- PageCodeDomTreeGenerator.cs
- CacheDict.cs
- WorkflowEnvironment.cs
- DataObjectAttribute.cs
- CssStyleCollection.cs
- DataContractSerializerOperationGenerator.cs
- BitmapCache.cs
- XmlDataSourceNodeDescriptor.cs
- ContextToken.cs
- ConfigUtil.cs
- ExpressionLexer.cs
- cache.cs
- DynamicArgumentDialog.cs
- SapiAttributeParser.cs
- TextDecorationCollectionConverter.cs
- TypeReference.cs
- DataControlCommands.cs
- RC2CryptoServiceProvider.cs
- ExternalException.cs
- ListSourceHelper.cs
- PackageRelationshipSelector.cs
- XmlExtensionFunction.cs
- SoundPlayerAction.cs
- DesignerHelpers.cs
- InstanceDataCollection.cs
- DuplicateWaitObjectException.cs
- BamlRecordReader.cs
- PageHandlerFactory.cs
- StreamInfo.cs
- XPathArrayIterator.cs
- IDictionary.cs
- AlphaSortedEnumConverter.cs
- Cursors.cs
- RenameRuleObjectDialog.Designer.cs
- ThemeConfigurationDialog.cs
- UIElementAutomationPeer.cs
- TdsParserHelperClasses.cs
- CheckBoxField.cs
- LingerOption.cs
- CommentAction.cs
- GridItem.cs
- PageThemeBuildProvider.cs
- NetTcpSection.cs
- Utility.cs
- ThreadStateException.cs
- ReleaseInstanceMode.cs
- TraceSection.cs
- ServiceProviders.cs
- ComponentCollection.cs
- WebPartConnectVerb.cs
- ViewStateChangedEventArgs.cs
- MetadataSource.cs
- _IPv6Address.cs
- DynamicValueConverter.cs
- Tokenizer.cs
- _ListenerResponseStream.cs
- XPathNodePointer.cs
- ProxyWebPart.cs
- Operators.cs
- SafeWaitHandle.cs
- TrackingMemoryStream.cs
- OuterGlowBitmapEffect.cs
- ControlValuePropertyAttribute.cs
- GiveFeedbackEvent.cs
- SafeCoTaskMem.cs
- PopupRootAutomationPeer.cs
- CharacterBufferReference.cs
- OutputCacheSection.cs
- PermissionSetEnumerator.cs
- BindableTemplateBuilder.cs
- ObjectSecurity.cs
- WebProxyScriptElement.cs
- DataServiceKeyAttribute.cs
- ObjectTag.cs
- OutputWindow.cs
- ColumnWidthChangedEvent.cs
- PropertyNames.cs
- SourceChangedEventArgs.cs
- DashStyle.cs
- DbTypeMap.cs
- CodeGotoStatement.cs
- HtmlInputPassword.cs
- SetStoryboardSpeedRatio.cs
- XmlnsCompatibleWithAttribute.cs
- GregorianCalendarHelper.cs
- CompilerState.cs
- DynamicResourceExtension.cs
- InteropExecutor.cs
- CollectionBuilder.cs
- JsonServiceDocumentSerializer.cs
- CodeGen.cs
- RuleSettings.cs
- Rectangle.cs
- NgenServicingAttributes.cs
- OdbcCommand.cs