Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / Objects / Internal / NullEntityWrapper.cs / 1305376 / NullEntityWrapper.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- using System.Collections; using System.Data.Objects.DataClasses; using System.Data.Entity; using System.Data.Metadata.Edm; using System.Diagnostics; namespace System.Data.Objects.Internal { ////// Defines an entity wrapper that wraps an entity with a null value. /// This is a singleton class for which the same instance is always returned /// any time a wrapper around a null entity is requested. Objects of this /// type are immutable and mutable to allow this behavior to work correctly. /// internal class NullEntityWrapper : IEntityWrapper { private static IEntityWrapper s_nullWrapper = new NullEntityWrapper(); // Private constructor prevents anyone else from creating an instance private NullEntityWrapper() { } ////// The single instance of this class. /// internal static IEntityWrapper NullWrapper { get { return s_nullWrapper; } } public RelationshipManager RelationshipManager { get { Debug.Fail("Cannot access RelationshipManager from null wrapper."); return null; } } public bool OwnsRelationshipManager { get { Debug.Fail("Cannot access RelationshipManager from null wrapper."); return false; } } public object Entity { get { return null; } } public EntityEntry ObjectStateEntry { get { return null; } set { } } public void CollectionAdd(RelatedEnd relatedEnd, object value) { Debug.Fail("Cannot modify collection from null wrapper."); } public bool CollectionRemove(RelatedEnd relatedEnd, object value) { Debug.Fail("Cannot modify collection from null wrapper."); return false; } public EntityKey EntityKey { get { Debug.Fail("Cannot access EntityKey from null wrapper."); return null; } set { Debug.Fail("Cannot access EntityKey from null wrapper."); } } public EntityKey GetEntityKeyFromEntity() { Debug.Assert(false, "Method on NullEntityWrapper should not be called"); return null; } public ObjectContext Context { get { Debug.Fail("Cannot access Context from null wrapper."); return null; } set { Debug.Fail("Cannot access Context from null wrapper."); } } public MergeOption MergeOption { get { Debug.Fail("Cannot access MergeOption from null wrapper."); return MergeOption.NoTracking; } } public void AttachContext(ObjectContext context, EntitySet entitySet, MergeOption mergeOption) { Debug.Fail("Cannot access Context from null wrapper."); } public void ResetContext(ObjectContext context, EntitySet entitySet, MergeOption mergeOption) { Debug.Fail("Cannot access Context from null wrapper."); } public void DetachContext() { Debug.Fail("Cannot access Context from null wrapper."); } public void SetChangeTracker(IEntityChangeTracker changeTracker) { Debug.Fail("Cannot access ChangeTracker from null wrapper."); } public void TakeSnapshot(EntityEntry entry) { Debug.Fail("Cannot take snapshot of using null wrapper."); } public void TakeSnapshotOfRelationships(EntityEntry entry) { Debug.Fail("Cannot take snapshot using null wrapper."); } public Type IdentityType { get { Debug.Fail("Cannot access IdentityType from null wrapper."); return null; } } public void EnsureCollectionNotNull(RelatedEnd relatedEnd) { Debug.Fail("Cannot modify collection from null wrapper."); } public object GetNavigationPropertyValue(RelatedEnd relatedEnd) { Debug.Fail("Cannot access property using null wrapper."); return null; } public void SetNavigationPropertyValue(RelatedEnd relatedEnd, object value) { Debug.Fail("Cannot access property using null wrapper."); } public void RemoveNavigationPropertyValue(RelatedEnd relatedEnd, object value) { Debug.Fail("Cannot access property using null wrapper."); } public void SetCurrentValue(EntityEntry entry, StateManagerMemberMetadata member, int ordinal, object target, object value) { Debug.Fail("Cannot set a value onto a null entity."); } public bool InitializingProxyRelatedEnds { get { Debug.Fail("Cannot access flag on null wrapper."); return false; } set { Debug.Fail("Cannot access flag on null wrapper."); } } public void UpdateCurrentValueRecord(object value, EntityEntry entry) { Debug.Fail("Cannot UpdateCurrentValueRecord on a null entity."); } public bool RequiresRelationshipChangeTracking { get { return false; } } public bool RequiresComplexChangeTracking { get { return false; } } public bool RequiresScalarChangeTracking { get { return false; } } public bool RequiresAnyChangeTracking { get { return false; } } } } // 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
- UIElement3DAutomationPeer.cs
- initElementDictionary.cs
- TextBoxView.cs
- DateTimeOffsetConverter.cs
- MethodImplAttribute.cs
- Ref.cs
- ellipse.cs
- WebPartZoneCollection.cs
- OdbcException.cs
- CodeIdentifiers.cs
- TypeGeneratedEventArgs.cs
- UrlAuthFailedErrorFormatter.cs
- FilterRepeater.cs
- Pkcs9Attribute.cs
- InfoCardClaim.cs
- PhysicalFontFamily.cs
- TemplateParser.cs
- RtfControlWordInfo.cs
- Style.cs
- ImmutableObjectAttribute.cs
- latinshape.cs
- DynamicRenderer.cs
- ConnectionModeReader.cs
- VectorValueSerializer.cs
- TextComposition.cs
- BitmapEffectGeneralTransform.cs
- SpoolingTaskBase.cs
- ChtmlCalendarAdapter.cs
- HttpHandler.cs
- SoapAttributes.cs
- QueryTaskGroupState.cs
- AccessText.cs
- EdgeModeValidation.cs
- PropertyFilter.cs
- SqlConnectionStringBuilder.cs
- SqlCacheDependencyDatabase.cs
- IteratorDescriptor.cs
- DbTypeMap.cs
- ContentElement.cs
- UnmanagedBitmapWrapper.cs
- ParenExpr.cs
- EventProviderWriter.cs
- ClockGroup.cs
- RequestCache.cs
- UserMapPath.cs
- SemaphoreFullException.cs
- KeyInfo.cs
- DurableMessageDispatchInspector.cs
- ChangeToolStripParentVerb.cs
- MsmqEncryptionAlgorithm.cs
- CopyOfAction.cs
- EdmItemError.cs
- LoginView.cs
- StyleCollection.cs
- SmiEventSink_DeferedProcessing.cs
- PersonalizationState.cs
- MatrixAnimationBase.cs
- DynamicRendererThreadManager.cs
- InputLanguageManager.cs
- documentsequencetextpointer.cs
- PerformanceCountersElement.cs
- IsolatedStorageFileStream.cs
- MULTI_QI.cs
- ApplicationServiceHelper.cs
- ExpanderAutomationPeer.cs
- TranslateTransform3D.cs
- VirtualPathProvider.cs
- SqlBooleanMismatchVisitor.cs
- ContextMenuStrip.cs
- BitmapSource.cs
- UIHelper.cs
- RawStylusInputCustomData.cs
- EllipticalNodeOperations.cs
- XmlSchemaExporter.cs
- DefinitionBase.cs
- CharacterShapingProperties.cs
- ISFClipboardData.cs
- MimeFormReflector.cs
- FormViewDeleteEventArgs.cs
- PropagatorResult.cs
- AnimationLayer.cs
- DispatchWrapper.cs
- OutputScopeManager.cs
- SslStreamSecurityElement.cs
- TransactionsSectionGroup.cs
- RecognizedAudio.cs
- ConcatQueryOperator.cs
- XPathScanner.cs
- ConfigurationCollectionAttribute.cs
- DecoderBestFitFallback.cs
- Vector3DAnimationUsingKeyFrames.cs
- PathNode.cs
- SessionPageStateSection.cs
- Substitution.cs
- WebBrowserPermission.cs
- CodeMemberProperty.cs
- CustomActivityDesigner.cs
- DataTableMapping.cs
- InputLanguageSource.cs
- SettingsProviderCollection.cs