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
- smtpconnection.cs
- TableLayoutColumnStyleCollection.cs
- DataContractSerializerOperationGenerator.cs
- SQlBooleanStorage.cs
- CustomPeerResolverService.cs
- LifetimeServices.cs
- GetImportFileNameRequest.cs
- ConsoleEntryPoint.cs
- CallbackTimeoutsElement.cs
- ReadOnlyDictionary.cs
- AssemblyCollection.cs
- TraceContextEventArgs.cs
- HttpClientCertificate.cs
- DataGridViewColumnDividerDoubleClickEventArgs.cs
- NegotiateStream.cs
- GregorianCalendar.cs
- Localizer.cs
- XmlTextWriter.cs
- EncodingDataItem.cs
- TypeLibConverter.cs
- OrderedDictionaryStateHelper.cs
- BufferedReadStream.cs
- RotateTransform3D.cs
- XmlValidatingReader.cs
- CurrentChangingEventArgs.cs
- TextInfo.cs
- DataKeyPropertyAttribute.cs
- Point4D.cs
- HttpResponseInternalWrapper.cs
- SSmlParser.cs
- GACIdentityPermission.cs
- TypedReference.cs
- SrgsRuleRef.cs
- CompilerResults.cs
- TypeDependencyAttribute.cs
- OptimalBreakSession.cs
- PixelFormat.cs
- SQLBytes.cs
- DataGridRelationshipRow.cs
- URIFormatException.cs
- WebPartDescription.cs
- XpsException.cs
- ColorInterpolationModeValidation.cs
- Int32Rect.cs
- TextProviderWrapper.cs
- SemaphoreSecurity.cs
- DataViewManagerListItemTypeDescriptor.cs
- ItemContainerProviderWrapper.cs
- HandlerBase.cs
- TextTrailingCharacterEllipsis.cs
- WebPartMenuStyle.cs
- PersistenceParticipant.cs
- DesignTimeHTMLTextWriter.cs
- PartitionResolver.cs
- XmlQueryOutput.cs
- CompositeClientFormatter.cs
- ContextConfiguration.cs
- DynamicValidatorEventArgs.cs
- OpenFileDialog.cs
- AdornerPresentationContext.cs
- AdornerPresentationContext.cs
- DataPagerFieldCollection.cs
- RepeatBehavior.cs
- CustomAttribute.cs
- QueryOptionExpression.cs
- MsmqProcessProtocolHandler.cs
- HuffCodec.cs
- PropertyBuilder.cs
- XmlName.cs
- EmissiveMaterial.cs
- Version.cs
- RelationshipWrapper.cs
- ReplacementText.cs
- shaperfactoryquerycachekey.cs
- SemanticBasicElement.cs
- Thickness.cs
- FaultPropagationRecord.cs
- VirtualizedItemPattern.cs
- IteratorFilter.cs
- TraceLevelHelper.cs
- ParameterModifier.cs
- GacUtil.cs
- NativeBuffer.cs
- Renderer.cs
- SpeechDetectedEventArgs.cs
- IndentedWriter.cs
- StylusPointPropertyInfo.cs
- ConfigUtil.cs
- SizeValueSerializer.cs
- CompilationPass2Task.cs
- MarkupCompilePass2.cs
- MouseBinding.cs
- DataGridPagerStyle.cs
- CurrencyManager.cs
- HandleExceptionArgs.cs
- HtmlTextBoxAdapter.cs
- _UriTypeConverter.cs
- ProfileInfo.cs
- ValidationErrorCollection.cs
- Point3DValueSerializer.cs