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
- EventData.cs
- SchemaNotation.cs
- XsltException.cs
- TypeSystem.cs
- GridViewRow.cs
- PropertyMetadata.cs
- DesignTimeTemplateParser.cs
- DataObjectFieldAttribute.cs
- BufferBuilder.cs
- OdbcErrorCollection.cs
- ForeignKeyConstraint.cs
- CompModSwitches.cs
- ExceptionUtil.cs
- ConnectionProviderAttribute.cs
- BulletedList.cs
- RSAOAEPKeyExchangeFormatter.cs
- EdmEntityTypeAttribute.cs
- ErrorFormatter.cs
- DebugView.cs
- DataControlReferenceCollection.cs
- KoreanLunisolarCalendar.cs
- Substitution.cs
- CodeConstructor.cs
- SchemaTypeEmitter.cs
- FontFamily.cs
- SignatureHelper.cs
- GridViewAutomationPeer.cs
- IndexOutOfRangeException.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- ProxySimple.cs
- ApplicationServiceManager.cs
- Transform3D.cs
- ComponentChangingEvent.cs
- CriticalHandle.cs
- TemplateDefinition.cs
- PageCodeDomTreeGenerator.cs
- XmlNullResolver.cs
- TemplateBindingExtension.cs
- BinHexEncoder.cs
- TCPClient.cs
- SymmetricCryptoHandle.cs
- DataObjectFieldAttribute.cs
- IntMinMaxAggregationOperator.cs
- TrackingExtract.cs
- BitmapEffectState.cs
- DependencyProperty.cs
- LifetimeServices.cs
- AccessDataSourceView.cs
- InfoCardRSACryptoProvider.cs
- HtmlProps.cs
- GenericEnumConverter.cs
- safemediahandle.cs
- PartialCachingAttribute.cs
- RadialGradientBrush.cs
- InitializerFacet.cs
- HybridDictionary.cs
- MachineSettingsSection.cs
- Win32MouseDevice.cs
- XmlSchemaExporter.cs
- ParentQuery.cs
- PartialClassGenerationTask.cs
- Clipboard.cs
- StringToken.cs
- RefreshEventArgs.cs
- Tuple.cs
- ToolStripItemCollection.cs
- DataGridViewCellCancelEventArgs.cs
- RuleSetDialog.cs
- hwndwrapper.cs
- RtfFormatStack.cs
- Update.cs
- datacache.cs
- PenThread.cs
- ObjectItemCachedAssemblyLoader.cs
- FloaterBaseParaClient.cs
- SymDocumentType.cs
- ConsoleKeyInfo.cs
- OraclePermissionAttribute.cs
- WmlControlAdapter.cs
- AxHost.cs
- CodeExporter.cs
- SupportsEventValidationAttribute.cs
- AutomationIdentifier.cs
- XamlVector3DCollectionSerializer.cs
- SchemaImporterExtensionElement.cs
- Literal.cs
- ErrorEventArgs.cs
- EventPropertyMap.cs
- WebPartDisplayMode.cs
- IOThreadTimer.cs
- CodeDomComponentSerializationService.cs
- MaterialCollection.cs
- InternalsVisibleToAttribute.cs
- DataGridCellClipboardEventArgs.cs
- StyleModeStack.cs
- ListView.cs
- PackagePart.cs
- StringFunctions.cs
- PointHitTestResult.cs
- IisTraceWebEventProvider.cs