You've already forked linux-packaging-mono
Imported Upstream version 4.6.0.125
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
This commit is contained in:
parent
a569aebcfd
commit
e79aa3c0ed
@@ -0,0 +1,207 @@
|
||||
//---------------------------------------------------------------------
|
||||
// <copyright file="NullEntityWrapper.cs" company="Microsoft">
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// </copyright>
|
||||
//
|
||||
// @owner [....]
|
||||
// @backupOwner [....]
|
||||
//---------------------------------------------------------------------
|
||||
namespace System.Data.Objects.Internal
|
||||
{
|
||||
using System.Data.Metadata.Edm;
|
||||
using System.Data.Objects.DataClasses;
|
||||
using System.Diagnostics;
|
||||
|
||||
/// <summary>
|
||||
/// 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.
|
||||
/// </summary>
|
||||
internal class NullEntityWrapper : IEntityWrapper
|
||||
{
|
||||
private static IEntityWrapper s_nullWrapper = new NullEntityWrapper();
|
||||
|
||||
// Private constructor prevents anyone else from creating an instance
|
||||
private NullEntityWrapper()
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The single instance of this class.
|
||||
/// </summary>
|
||||
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; }
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user