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
- XNodeSchemaApplier.cs
- ActivityBuilder.cs
- ReadOnlyCollection.cs
- ResXResourceSet.cs
- AcceptorSessionSymmetricMessageSecurityProtocol.cs
- SecurityTokenValidationException.cs
- XPathScanner.cs
- ConfigurationException.cs
- QueryConverter.cs
- IncrementalHitTester.cs
- Function.cs
- TableLayoutSettings.cs
- StringKeyFrameCollection.cs
- XmlAtomicValue.cs
- ZoneLinkButton.cs
- ColorTransform.cs
- XD.cs
- AssemblyResourceLoader.cs
- EntryIndex.cs
- DependencyProperty.cs
- ToolStripSeparator.cs
- MediaTimeline.cs
- RadioButtonFlatAdapter.cs
- FacetDescriptionElement.cs
- MsmqIntegrationProcessProtocolHandler.cs
- EmptyCollection.cs
- DrawToolTipEventArgs.cs
- IisTraceWebEventProvider.cs
- ThicknessAnimation.cs
- _PooledStream.cs
- Image.cs
- PathSegmentCollection.cs
- DrawingDrawingContext.cs
- XamlSerializer.cs
- KeyboardNavigation.cs
- PeerNearMe.cs
- Slider.cs
- ComponentConverter.cs
- MethodSignatureGenerator.cs
- DiscoveryOperationContext.cs
- CompiledQueryCacheKey.cs
- TextTreeDeleteContentUndoUnit.cs
- ScriptIgnoreAttribute.cs
- SizeKeyFrameCollection.cs
- WindowsSlider.cs
- ComboBox.cs
- DataGridViewSelectedCellsAccessibleObject.cs
- Size.cs
- GridEntry.cs
- Sql8ConformanceChecker.cs
- EventLogPropertySelector.cs
- PackageRelationship.cs
- webproxy.cs
- GlyphTypeface.cs
- ToolStripContainer.cs
- DataGridCommandEventArgs.cs
- OleDbErrorCollection.cs
- FrameworkObject.cs
- BindingExpressionBase.cs
- QualifiedCellIdBoolean.cs
- OptimisticConcurrencyException.cs
- LowerCaseStringConverter.cs
- KeyConverter.cs
- EntityTypeEmitter.cs
- Drawing.cs
- PersonalizationStateInfo.cs
- EventTask.cs
- BamlLocalizableResource.cs
- Context.cs
- EntityAdapter.cs
- LocalizationParserHooks.cs
- InternalRelationshipCollection.cs
- Visual3D.cs
- securitycriticaldataformultiplegetandset.cs
- DockPatternIdentifiers.cs
- SymbolPair.cs
- XmlSignatureManifest.cs
- ClientRolePrincipal.cs
- RequestCache.cs
- TextElement.cs
- FilterRepeater.cs
- RenameRuleObjectDialog.Designer.cs
- PopupRootAutomationPeer.cs
- XmlSchemaAnnotation.cs
- WebEventTraceProvider.cs
- DataSysAttribute.cs
- MethodToken.cs
- DataViewListener.cs
- Pens.cs
- WindowsListViewItemStartMenu.cs
- SqlTypesSchemaImporter.cs
- DataTableMappingCollection.cs
- AuthenticateEventArgs.cs
- LeftCellWrapper.cs
- SecurityContext.cs
- HMACSHA256.cs
- DataGridViewCellErrorTextNeededEventArgs.cs
- BamlLocalizableResource.cs
- WebPartUserCapability.cs
- ACL.cs