Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- HostingEnvironment.cs
- wgx_sdk_version.cs
- PermissionAttributes.cs
- GeneralTransform3DGroup.cs
- NTAccount.cs
- ServiceProviders.cs
- EditorPartChrome.cs
- ActivityDesignerAccessibleObject.cs
- TextEndOfLine.cs
- XomlCompilerParameters.cs
- Stackframe.cs
- MultiPageTextView.cs
- AlternateView.cs
- RelationHandler.cs
- Column.cs
- CommandManager.cs
- CodeSnippetExpression.cs
- SingleAnimationBase.cs
- XmlSchemaSequence.cs
- DiscardableAttribute.cs
- AllMembershipCondition.cs
- Lasso.cs
- FunctionQuery.cs
- columnmapkeybuilder.cs
- WindowsStartMenu.cs
- MemoryMappedViewStream.cs
- _SSPIWrapper.cs
- LineServicesRun.cs
- LineServices.cs
- CompilationPass2TaskInternal.cs
- IUnknownConstantAttribute.cs
- SizeFConverter.cs
- SmtpDateTime.cs
- EpmContentDeSerializer.cs
- InfoCardKeyedHashAlgorithm.cs
- ObsoleteAttribute.cs
- CacheChildrenQuery.cs
- DataSysAttribute.cs
- HttpConfigurationSystem.cs
- StylusDownEventArgs.cs
- ISessionStateStore.cs
- WebServiceFault.cs
- SmtpReplyReaderFactory.cs
- TreeNodeStyleCollectionEditor.cs
- X509Certificate2.cs
- DbConnectionPoolIdentity.cs
- SafeHGlobalHandleCritical.cs
- Substitution.cs
- RootBuilder.cs
- BitSet.cs
- SecurityRuntime.cs
- WebEncodingValidator.cs
- ImageListUtils.cs
- BaseValidator.cs
- XmlSchemaParticle.cs
- FileChangesMonitor.cs
- ArgumentDesigner.xaml.cs
- CompositeDataBoundControl.cs
- XmlText.cs
- SystemWebSectionGroup.cs
- ConnectionPointGlyph.cs
- InstanceKeyNotReadyException.cs
- SQLByteStorage.cs
- DynamicValidatorEventArgs.cs
- XmlDataSourceView.cs
- DocumentsTrace.cs
- TextEditor.cs
- GridViewColumnHeader.cs
- Select.cs
- ChannelDispatcher.cs
- CommonXSendMessage.cs
- PartialCachingControl.cs
- IriParsingElement.cs
- BitVector32.cs
- CodeIterationStatement.cs
- MimeMultiPart.cs
- DeclaredTypeElement.cs
- AQNBuilder.cs
- _TimerThread.cs
- Page.cs
- DesignerPerfEventProvider.cs
- ToolStripItemTextRenderEventArgs.cs
- XsltFunctions.cs
- DataControlLinkButton.cs
- CheckBoxAutomationPeer.cs
- InvalidFilterCriteriaException.cs
- Expressions.cs
- ContentTextAutomationPeer.cs
- ServicePointManager.cs
- SchemaImporterExtensionsSection.cs
- SrgsElement.cs
- ChtmlSelectionListAdapter.cs
- XmlSchemaSimpleType.cs
- WebBrowsableAttribute.cs
- PeerCollaboration.cs
- CommandID.cs
- Renderer.cs
- EpmSourcePathSegment.cs
- TextWriterTraceListener.cs
- IncrementalReadDecoders.cs