Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- SizeAnimationClockResource.cs
- HtmlFormParameterWriter.cs
- DataGridItemEventArgs.cs
- HttpAsyncResult.cs
- BamlCollectionHolder.cs
- SelectionHighlightInfo.cs
- GridViewCellAutomationPeer.cs
- SiteIdentityPermission.cs
- ProfileSettings.cs
- InstancePersistenceCommand.cs
- CommandValueSerializer.cs
- LinqDataView.cs
- WindowsListViewGroupHelper.cs
- FixedSOMTableCell.cs
- TextPattern.cs
- SocketPermission.cs
- Header.cs
- SqlConnection.cs
- SystemIcmpV4Statistics.cs
- AuthStoreRoleProvider.cs
- Zone.cs
- ProfilePropertySettings.cs
- DynamicILGenerator.cs
- PassportAuthenticationModule.cs
- FieldAccessException.cs
- ScriptModule.cs
- HtmlTableCellCollection.cs
- RouteTable.cs
- ItemList.cs
- PeerReferralPolicy.cs
- ConstraintCollection.cs
- BufferBuilder.cs
- DbConnectionPoolGroupProviderInfo.cs
- HttpRequestWrapper.cs
- SoapFault.cs
- CroppedBitmap.cs
- CodeIdentifier.cs
- NullRuntimeConfig.cs
- MultiSelectRootGridEntry.cs
- Resources.Designer.cs
- PageAsyncTask.cs
- FormattedText.cs
- HttpProfileBase.cs
- httpserverutility.cs
- StyleXamlTreeBuilder.cs
- MailBnfHelper.cs
- PrimaryKeyTypeConverter.cs
- XMLUtil.cs
- EntityClassGenerator.cs
- Rotation3D.cs
- PackWebRequestFactory.cs
- LogReserveAndAppendState.cs
- TraceEventCache.cs
- Models.cs
- VectorValueSerializer.cs
- Verify.cs
- AppModelKnownContentFactory.cs
- X509WindowsSecurityToken.cs
- StreamGeometry.cs
- ErrorReporting.cs
- FrameworkElement.cs
- FileUpload.cs
- NameScope.cs
- WindowsGraphicsCacheManager.cs
- EntityDesignerUtils.cs
- CompilationPass2Task.cs
- HttpServerProtocol.cs
- TextHidden.cs
- BindingWorker.cs
- WebConfigurationManager.cs
- Merger.cs
- ClientBuildManagerCallback.cs
- WeakReadOnlyCollection.cs
- EFAssociationProvider.cs
- ImportCatalogPart.cs
- TargetConverter.cs
- MruCache.cs
- MultitargetUtil.cs
- EllipseGeometry.cs
- DockAndAnchorLayout.cs
- TextBoxBase.cs
- MetadataPropertyvalue.cs
- UserControlParser.cs
- Int32CollectionConverter.cs
- XPathNavigator.cs
- ContentFilePart.cs
- SoapFormatter.cs
- AdPostCacheSubstitution.cs
- ZipIOExtraFieldPaddingElement.cs
- XmlUrlEditor.cs
- TimelineCollection.cs
- TrustManagerMoreInformation.cs
- ImageClickEventArgs.cs
- ToolboxComponentsCreatedEventArgs.cs
- TextTabProperties.cs
- DoubleAnimationUsingPath.cs
- ContainerCodeDomSerializer.cs
- MimeTypeAttribute.cs
- IfAction.cs
- sqlcontext.cs