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
- Message.cs
- FileResponseElement.cs
- EdmRelationshipNavigationPropertyAttribute.cs
- ChoiceConverter.cs
- SiteMapNodeCollection.cs
- LambdaCompiler.Lambda.cs
- DataGridViewCellEventArgs.cs
- CheckBox.cs
- AssemblyResourceLoader.cs
- CompositeActivityTypeDescriptor.cs
- PassportAuthentication.cs
- EndPoint.cs
- StylusPointCollection.cs
- PrimitiveOperationFormatter.cs
- ImageButton.cs
- HtmlShimManager.cs
- RightNameExpirationInfoPair.cs
- DBSchemaRow.cs
- RegexCompiler.cs
- ToolStripItemClickedEventArgs.cs
- Queue.cs
- DependencyPropertyKind.cs
- ObjectDataProvider.cs
- ImageSource.cs
- ArraySortHelper.cs
- DataControlImageButton.cs
- IsolatedStoragePermission.cs
- ConfigurationLoader.cs
- DbExpressionBuilder.cs
- StreamFormatter.cs
- ListViewDeletedEventArgs.cs
- SingleBodyParameterMessageFormatter.cs
- CodeVariableDeclarationStatement.cs
- TableItemPattern.cs
- ContainerControl.cs
- Char.cs
- AlternateViewCollection.cs
- Rules.cs
- UnsafeNativeMethods.cs
- TrackingWorkflowEventArgs.cs
- DockPanel.cs
- ToolStripDesignerAvailabilityAttribute.cs
- AnonymousIdentificationSection.cs
- XamlBrushSerializer.cs
- ScriptDescriptor.cs
- WebPartDisplayModeCollection.cs
- XamlBuildTaskServices.cs
- ReverseComparer.cs
- DetailsViewDeletedEventArgs.cs
- RSACryptoServiceProvider.cs
- CommunicationException.cs
- COM2Enum.cs
- ObjectViewListener.cs
- Char.cs
- InvalidPrinterException.cs
- DataTable.cs
- InputLanguageSource.cs
- HyperLinkColumn.cs
- XmlWriter.cs
- SiteMapHierarchicalDataSourceView.cs
- Formatter.cs
- ImageAttributes.cs
- WebPartConnectionsCloseVerb.cs
- TableHeaderCell.cs
- MatrixTransform3D.cs
- FormCollection.cs
- ExclusiveCanonicalizationTransform.cs
- LocatorManager.cs
- OletxCommittableTransaction.cs
- ViewEventArgs.cs
- OutputCacheSettingsSection.cs
- SmiContextFactory.cs
- NamespaceCollection.cs
- PasswordDeriveBytes.cs
- ZoneIdentityPermission.cs
- ServiceObjectContainer.cs
- ImageDrawing.cs
- login.cs
- OleDbParameterCollection.cs
- ActivityStatusChangeEventArgs.cs
- ExpressionParser.cs
- ListBoxItemWrapperAutomationPeer.cs
- UpdateCommand.cs
- UserControlCodeDomTreeGenerator.cs
- peersecurityelement.cs
- RequestCachingSection.cs
- DataControlExtensions.cs
- StorageModelBuildProvider.cs
- AspNetSynchronizationContext.cs
- ThreadStartException.cs
- PropertyIDSet.cs
- Figure.cs
- MenuItemBinding.cs
- ResXDataNode.cs
- MatrixCamera.cs
- EnumCodeDomSerializer.cs
- WindowsEditBoxRange.cs
- ProfilePropertySettings.cs
- PeerInputChannel.cs
- UnSafeCharBuffer.cs