227 references to MergeOption
System.Data.Entity (224)
System\Data\Common\EntityUtil.cs (8)
1092internal static InvalidOperationException MismatchedMergeOptionOnLoad(MergeOption mergeOption) { 1139internal static void CheckArgumentMergeOption(MergeOption mergeOption) { 1141case MergeOption.NoTracking: 1142case MergeOption.AppendOnly: 1143case MergeOption.OverwriteChanges: 1144case MergeOption.PreserveChanges: 1544static internal ArgumentOutOfRangeException InvalidMergeOption(MergeOption value) { 1555return InvalidEnumerationValue(typeof(MergeOption), (int) value);
System\Data\Common\Internal\Materialization\Shaper.cs (12)
29internal Shaper(DbDataReader reader, ObjectContext context, MetadataWorkspace workspace, MergeOption mergeOption, int stateCount) 92public readonly MergeOption MergeOption; 139Debug.Assert(MergeOption.NoTracking != this.MergeOption, "no need to HandleEntity if there's no tracking"); 140Debug.Assert(MergeOption.AppendOnly != this.MergeOption, "use HandleEntityAppendOnly instead..."); 183Debug.Assert(this.MergeOption == MergeOption.AppendOnly, "only use HandleEntityAppendOnly when MergeOption is AppendOnly"); 516if (forceToTrue || this.MergeOption == MergeOption.OverwriteChanges) 670(this.MergeOption == MergeOption.PreserveChanges || 671this.MergeOption == MergeOption.OverwriteChanges)) 759if (MergeOption.AppendOnly != MergeOption) 764if (MergeOption.OverwriteChanges == MergeOption) 777Debug.Assert(MergeOption.PreserveChanges == MergeOption, "not MergeOption.PreserveChanges"); 1055internal Shaper(DbDataReader reader, ObjectContext context, MetadataWorkspace workspace, MergeOption mergeOption, int stateCount, CoordinatorFactory<T> rootCoordinatorFactory, Action checkPermissions, bool readerOwned)
System\Data\Common\Internal\Materialization\ShaperFactory.cs (6)
25internal static ShaperFactory Create(Type elementType, QueryCacheManager cacheManager, ColumnMap columnMap, MetadataWorkspace metadata, SpanIndex spanInfo, MergeOption mergeOption, bool valueLayer) 33internal abstract ShaperFactory TypedCreate(QueryCacheManager cacheManager, ColumnMap columnMap, MetadataWorkspace metadata, SpanIndex spanInfo, MergeOption mergeOption, bool valueLayer); 39internal override ShaperFactory TypedCreate(QueryCacheManager cacheManager, ColumnMap columnMap, MetadataWorkspace metadata, SpanIndex spanInfo, MergeOption mergeOption, bool valueLayer) 54private readonly MergeOption _mergeOption; 56internal ShaperFactory(int stateCount, CoordinatorFactory<T> rootCoordinatorFactory, Action checkPermissions, MergeOption mergeOption) 67internal Shaper<T> Create(DbDataReader reader, ObjectContext context, MetadataWorkspace workspace, MergeOption mergeOption, bool readerOwned)
System\Data\Common\Internal\Materialization\Translator.cs (15)
140private readonly MergeOption _mergeOption; 181private Translator(MetadataWorkspace workspace, SpanIndex spanIndex, MergeOption mergeOption, bool valueLayer) 197internal static ShaperFactory<TRequestedType> TranslateColumnMap<TRequestedType>(QueryCacheManager queryCacheManager, ColumnMap columnMap, MetadataWorkspace workspace, SpanIndex spanIndex, MergeOption mergeOption, bool valueLayer) 743internal static Expression Emit_EnsureTypeAndWrap(Expression input, Expression keyReader, Expression entitySetReader, Type requestedType, Type identityType, Type actualType, MergeOption mergeOption, bool isProxy) 757private static Expression CreateEntityWrapper(Expression input, Expression keyReader, Expression entitySetReader, Type actualType, Type identityType, MergeOption mergeOption, bool isProxy) 769new Type[] { actualType, typeof(EntityKey), typeof(EntitySet), typeof(ObjectContext), typeof(MergeOption), typeof(Type) }, null); 770result = Expression.New(ci, input, keyReader, entitySetReader, Shaper_Context, Expression.Constant(mergeOption, typeof(MergeOption)), Expression.Constant(identityType, typeof(Type))); 795new Type[] { actualType, typeof(EntityKey), typeof(EntitySet), typeof(ObjectContext), typeof(MergeOption), typeof(Type), 797result = Expression.New(ci, input, keyReader, entitySetReader, Shaper_Context, Expression.Constant(mergeOption, typeof(MergeOption)), Expression.Constant(identityType, typeof(Type)), 1252if (MergeOption.NoTracking != _mergeOption) 1255if (typeof(IEntityWithKey).IsAssignableFrom(actualType) && MergeOption.AppendOnly != _mergeOption) 1264if (MergeOption.AppendOnly == _mergeOption) 1329_mergeOption == MergeOption.NoTracking ? MergeOption.NoTracking : MergeOption.AppendOnly, isProxy);
System\Data\Common\QueryCache\CompiledQueryCacheEntry.cs (9)
28public readonly MergeOption? PropagatedMergeOption; 42internal CompiledQueryCacheEntry(QueryCacheKey queryCacheKey, MergeOption? mergeOption) 59internal ObjectQueryExecutionPlan GetExecutionPlan(MergeOption mergeOption, bool useCSharpNullComparisonBehavior) 107private string GenerateLocalCacheKey(MergeOption mergeOption, bool useCSharpNullComparisonBehavior) 111case MergeOption.AppendOnly: 112case MergeOption.NoTracking: 113case MergeOption.OverwriteChanges: 114case MergeOption.PreserveChanges: 115return string.Join("", Enum.GetName(typeof(MergeOption), mergeOption), useCSharpNullComparisonBehavior);
System\Data\Common\QueryCache\EntitySqlQueryCacheKey.cs (3)
55private readonly MergeOption _mergeOption; 76MergeOption mergeOption, 154return String.Join("|", new string[] { _defaultContainer, _eSqlStatement, _parametersToken, _includePathsToken, Enum.GetName(typeof(MergeOption), _mergeOption) });
System\Data\Common\QueryCache\LinqQueryCacheKey.cs (3)
49private readonly MergeOption _mergeOption; 75MergeOption mergeOption, 144return String.Join("|", new string[] { _expressionKey, _parametersToken, _includePathsToken, Enum.GetName(typeof(MergeOption), _mergeOption), _useCSharpNullComparisonBehavior.ToString() });
System\Data\Common\QueryCache\ShaperFactoryQueryCacheKey.cs (2)
17private readonly MergeOption _mergeOption; 20internal ShaperFactoryQueryCacheKey(string columnMapKey, MergeOption mergeOption, bool isValueLayer)
System\Data\Objects\DataClasses\EntityCollection.cs (4)
223public override void Load(MergeOption mergeOption) 285internal void Load(List<IEntityWrapper> collection, MergeOption mergeOption) 332if (null != wrappedEntity.Context && wrappedEntity.MergeOption != MergeOption.NoTracking) 353if (null != wrappedEntity.Context && wrappedEntity.MergeOption != MergeOption.NoTracking)
System\Data\Objects\DataClasses\EntityReference.cs (1)
425bool isNoTracking = targetEntity != null && targetEntity.MergeOption == MergeOption.NoTracking;
System\Data\Objects\DataClasses\EntityReference_TResultType.cs (3)
165public override void Load(MergeOption mergeOption) 190else if (mergeOption == MergeOption.OverwriteChanges || mergeOption == MergeOption.PreserveChanges)
System\Data\Objects\DataClasses\IRelatedEnd.cs (1)
66void Load(MergeOption mergeOption);
System\Data\Objects\DataClasses\RelatedEnd.cs (17)
276internal MergeOption DefaultMergeOption 280return UsingNoTracking ? MergeOption.NoTracking : MergeOption.AppendOnly; 327internal ObjectQuery<TEntity> CreateSourceQuery<TEntity>(MergeOption mergeOption, out bool hasResults) 666internal ObjectQuery<TEntity> ValidateLoad<TEntity>(MergeOption mergeOption, string relatedEndName, out bool hasResults) 684if (UsingNoTracking != (mergeOption == MergeOption.NoTracking)) 721public abstract void Load(MergeOption mergeOption); 771internal void Merge<TEntity>(IEnumerable<TEntity> collection, MergeOption mergeOption, bool setIsLoaded) 783if (mergeOption == MergeOption.NoTracking) 794internal void Merge<TEntity>(List<IEntityWrapper> collection, MergeOption mergeOption, bool setIsLoaded) 860Merge(collection, MergeOption.OverwriteChanges, false /*setIsLoaded*/); 1165wrappedTarget.ResetContext(this.ObjectContext, GetTargetEntitySetFromRelationshipSet(), MergeOption.NoTracking); 2295internal void AttachContext(ObjectContext context, MergeOption mergeOption) 2311internal void AttachContext(ObjectContext context, EntitySet entitySet, MergeOption mergeOption) 2319if (_context == context && (_usingNoTracking == (mergeOption == MergeOption.NoTracking))) 2331this._usingNoTracking = (mergeOption == MergeOption.NoTracking); 2452this.ObjectContext.ObjectStateManager.TransactionManager.OriginalMergeOption == MergeOption.NoTracking)
System\Data\Objects\DataClasses\RelationshipManager.cs (7)
535if (wrappedOwner.Context != null && wrappedOwner.MergeOption != MergeOption.NoTracking) 589if (wrappedOwner.Context != null && wrappedOwner.MergeOption != MergeOption.NoTracking) 943Debug.Assert(wrappedOwner.Context == null || wrappedOwner.MergeOption == MergeOption.NoTracking, "Expected null context when initializing an existing related end"); 955Debug.Assert(wrappedOwner.Context == null || wrappedOwner.MergeOption == MergeOption.NoTracking, "Expected null context or NoTracking when initializing an existing related end"); 1030if (wrappedOwner.Context != null && wrappedOwner.MergeOption != MergeOption.NoTracking) 1500internal void AttachContextToRelatedEnds(ObjectContext context, EntitySet entitySet, MergeOption mergeOption) 1537internal void ResetContextOnRelatedEnds(ObjectContext context, EntitySet entitySet, MergeOption mergeOption)
System\Data\Objects\ELinq\CompiledELinqQueryState.cs (4)
53internal override ObjectQueryExecutionPlan GetExecutionPlan(MergeOption? forMergeOption) 71MergeOption mergeOption = EnsureMergeOption(forMergeOption, this.UserSpecifiedMergeOption, cacheEntry.PropagatedMergeOption); 102MergeOption mergeOption = EnsureMergeOption(forMergeOption, this.UserSpecifiedMergeOption, cacheEntry.PropagatedMergeOption); 135MergeOption mergeOption = EnsureMergeOption(forMergeOption, this.UserSpecifiedMergeOption, cacheEntry.PropagatedMergeOption);
System\Data\Objects\ELinq\ELinqQueryState.cs (3)
92internal override ObjectQueryExecutionPlan GetExecutionPlan(MergeOption? forMergeOption) 101MergeOption? explicitMergeOption = GetMergeOption(forMergeOption, this.UserSpecifiedMergeOption); 136MergeOption mergeOption = EnsureMergeOption(forMergeOption,
System\Data\Objects\ELinq\ExpressionConverter.cs (3)
40private MergeOption? _mergeOption; 222internal MergeOption? PropagatedMergeOption { get { return _mergeOption; } } 257private void NotifyMergeOption(MergeOption mergeOption)
System\Data\Objects\ELinq\Funcletizer.cs (1)
525MergeOption? originalMergeOption = originalQuery.QueryState.UserSpecifiedMergeOption;
System\Data\Objects\ELinq\MethodCallTranslator.cs (3)
470Debug.Assert(call.Object != null && call.Arguments.Count == 1 && call.Arguments[0] != null && call.Arguments[0].Type.Equals(typeof(MergeOption)), "Invalid MergeAs arguments?"); 483MergeOption mergeAsOption = (MergeOption)((ConstantExpression)call.Arguments[0]).Value;
System\Data\Objects\EntityEntry.cs (1)
1660this._cache.TransactionManager.OriginalMergeOption != MergeOption.NoTracking)
System\Data\Objects\Internal\BaseEntityWrapper.cs (13)
69protected BaseEntityWrapper(TEntity entity, RelationshipManager relationshipManager, EntitySet entitySet, ObjectContext context, MergeOption mergeOption, Type identityType) 106public MergeOption MergeOption 110return (_flags & WrapperFlags.NoTracking) != 0 ? MergeOption.NoTracking : MergeOption.AppendOnly; 114Debug.Assert(value == MergeOption.AppendOnly || value == MergeOption.NoTracking, "Merge option must be one of NoTracking or AppendOnly."); 115if (value == MergeOption.NoTracking) 147public void AttachContext(ObjectContext context, EntitySet entitySet, MergeOption mergeOption) 159public void ResetContext(ObjectContext context, EntitySet entitySet, MergeOption mergeOption) 163Debug.Assert(MergeOption.NoTracking == mergeOption || 164MergeOption.AppendOnly == mergeOption, 180Context.ObjectStateManager.TransactionManager.OriginalMergeOption == MergeOption.NoTracking) 184MergeOption = MergeOption.NoTracking;
System\Data\Objects\Internal\EntitySqlQueryState.cs (2)
138internal override ObjectQueryExecutionPlan GetExecutionPlan(MergeOption? forMergeOption) 147MergeOption mergeOption = EnsureMergeOption(forMergeOption, this.UserSpecifiedMergeOption);
System\Data\Objects\Internal\EntityWrapper.cs (3)
41internal EntityWrapperWithoutRelationships(TEntity entity, EntityKey key, EntitySet entitySet, ObjectContext context, MergeOption mergeOption, Type identityType, 102internal EntityWrapperWithRelationships(TEntity entity, EntityKey key, EntitySet entitySet, ObjectContext context, MergeOption mergeOption, Type identityType, 194protected EntityWrapper(TEntity entity, RelationshipManager relationshipManager, EntityKey key, EntitySet set, ObjectContext context, MergeOption mergeOption, Type identityType,
System\Data\Objects\Internal\EntityWrapperFactory.cs (1)
305wrapper.AttachContext(context, entitySet, MergeOption.NoTracking);
System\Data\Objects\Internal\IEntityWrapper.cs (3)
72MergeOption MergeOption { get; } 80void AttachContext(ObjectContext context, EntitySet entitySet, MergeOption mergeOption); 88void ResetContext(ObjectContext context, EntitySet entitySet, MergeOption mergeOption);
System\Data\Objects\Internal\LightweightEntityWrapper.cs (1)
56internal LightweightEntityWrapper(TEntity entity, EntityKey key, EntitySet entitySet, ObjectContext context, MergeOption mergeOption, Type identityType)
System\Data\Objects\Internal\NullEntityWrapper.cs (4)
110public MergeOption MergeOption 115return MergeOption.NoTracking; 119public void AttachContext(ObjectContext context, EntitySet entitySet, MergeOption mergeOption) 124public void ResetContext(ObjectContext context, EntitySet entitySet, MergeOption mergeOption)
System\Data\Objects\Internal\ObjectQueryExecutionPlan.cs (4)
31internal readonly MergeOption MergeOption; 37private ObjectQueryExecutionPlan(DbCommandDefinition commandDefinition, ShaperFactory resultShaperFactory, TypeUsage resultType, MergeOption mergeOption, EntitySet singleEntitySet, CompiledQueryParameters compiledQueryParameters) 51internal static ObjectQueryExecutionPlan Prepare(ObjectContext context, DbQueryCommandTree tree, Type elementType, MergeOption mergeOption, Span span, CompiledQueryParameters compiledQueryParameters, AliasGenerator aliasGenerator) 220internal static ObjectResult<TResultType> ExecuteCommandTree<TResultType>(ObjectContext context, DbQueryCommandTree query, MergeOption mergeOption)
System\Data\Objects\Internal\ObjectQueryState.cs (15)
34/// The <see cref="MergeOption"/> that should be used in the absence of an explicitly specified 37internal static readonly MergeOption DefaultMergeOption = MergeOption.AppendOnly; 62private MergeOption? _userMergeOption; 154internal MergeOption EffectiveMergeOption 174/// Gets or sets a value indicating which <see cref="MergeOption"/> should be used when preparing this query for execution via 175/// <see cref="GetExecutionPlan(MergeOption?)"/> if no option is explicitly specified - for example during foreach-style enumeration. 178internal MergeOption? UserSpecifiedMergeOption 250internal abstract ObjectQueryExecutionPlan GetExecutionPlan(MergeOption? forMergeOption); 276protected static MergeOption EnsureMergeOption(params MergeOption?[] preferredMergeOptions) 278foreach (MergeOption? preferred in preferredMergeOptions) 294protected static MergeOption? GetMergeOption(params MergeOption?[] preferredMergeOptions) 296foreach (MergeOption? preferred in preferredMergeOptions)
System\Data\Objects\Internal\ObjectSpanRewriter.cs (1)
48internal static bool TryRewrite(DbQueryCommandTree tree, Span span, MergeOption mergeOption, AliasGenerator aliasGenerator, out DbExpression newQuery, out SpanIndex spanInfo)
System\Data\Objects\Internal\TransactionManager.cs (2)
54private MergeOption? _originalMergeOption = null; 55internal MergeOption? OriginalMergeOption
System\Data\Objects\NextResultGenerator.cs (2)
27MergeOption _mergeOption; 29internal NextResultGenerator(ObjectContext context, EntityCommand entityCommand, EdmType[] edmTypes, ReadOnlyMetadataCollection<EntitySet> entitySets, MergeOption mergeOption, int resultSetIndex)
System\Data\Objects\ObjectContext.cs (21)
730wrappedEntity.AttachContext(this, entitySet, MergeOption.AppendOnly); 764public void LoadProperty(object entity, string navigationProperty, MergeOption mergeOption) 808public void LoadProperty<TEntity>(TEntity entity, Expression<Func<TEntity, object>> selector, MergeOption mergeOption) 1181wrappedEntity.AttachContext(this, entitySet, MergeOption.AppendOnly); 1199wrappedEntity.MergeOption != MergeOption.NoTracking) 1641ObjectQuery<T> query = new ObjectQuery<T>(queryString, this, MergeOption.AppendOnly); 2233MergeOption mergeOption = (RefreshMode.StoreWins == refreshMode ? 2234MergeOption.OverwriteChanges : 2235MergeOption.PreserveChanges); 2535ObjectResult<object> results = CreateQuery<object>(esql.ToString(), parameters).Execute(MergeOption.AppendOnly); 2559return ExecuteFunction<TElement>(functionName, MergeOption.AppendOnly, parameters); 2573public ObjectResult<TElement> ExecuteFunction<TElement>(string functionName, MergeOption mergeOption, params ObjectParameter[] parameters) 2673private ObjectResult<TElement> CreateFunctionObjectResult<TElement>(EntityCommand entityCommand, ReadOnlyMetadataCollection<EntitySet> entitySets, EdmType[] edmTypes, MergeOption mergeOption) 2702internal ObjectResult<TElement> MaterializedDataRecord<TElement>(EntityCommand entityCommand, DbDataReader storeReader, int resultSetIndex, ReadOnlyMetadataCollection<EntitySet> entitySets, EdmType[] edmTypes, MergeOption mergeOption) 2985wrappedEntity.AttachContext(this, null, MergeOption.NoTracking); 3041return ExecuteStoreQueryInternal<TElement>(commandText, null /*entitySetName*/, MergeOption.AppendOnly, parameters); 3054public ObjectResult<TEntity> ExecuteStoreQuery<TEntity>(string commandText, string entitySetName, MergeOption mergeOption, params object[] parameters) 3063private ObjectResult<TElement> ExecuteStoreQueryInternal<TElement>(string commandText, string entitySetName, MergeOption mergeOption, params object[] parameters) 3123return InternalTranslate<TElement>(reader, null /*entitySetName*/, MergeOption.AppendOnly, false); 3135public ObjectResult<TEntity> Translate<TEntity>(DbDataReader reader, string entitySetName, MergeOption mergeOption) 3152private ObjectResult<TElement> InternalTranslate<TElement>(DbDataReader reader, string entitySetName, MergeOption mergeOption, bool readerOwned)
System\Data\Objects\ObjectQuery.cs (3)
186public MergeOption MergeOption 307public ObjectResult Execute(MergeOption mergeOption) 327internal abstract ObjectResult ExecuteInternal(MergeOption mergeOption);
System\Data\Objects\ObjectQuery_EntitySqlExtensions.cs (2)
133public ObjectQuery (string commandText, ObjectContext context, MergeOption mergeOption) 177internal ObjectQuery (EntitySetBase entitySet, ObjectContext context, MergeOption mergeOption)
System\Data\Objects\ObjectQuery_TResultType.cs (4)
47public new ObjectResult<T> Execute(MergeOption mergeOption) 104internal override ObjectResult ExecuteInternal(MergeOption mergeOption) 151internal ObjectQuery<T> MergeAs(MergeOption mergeOption) 166private ObjectResult<T> GetResults(MergeOption? forMergeOption)
System\Data\Objects\ObjectResult_TResultType.cs (1)
132bool forceReadOnly = this._shaper.MergeOption == MergeOption.NoTracking;
System\Data\Objects\ObjectSet.cs (1)
52: base(entitySet, context, MergeOption.AppendOnly)
System\Data\Objects\ObjectStateManager.cs (28)
669wrappedEntity.AttachContext(contextToAttach, (EntitySet)keyEntry.EntitySet, MergeOption.AppendOnly); 727MergeOption.AppendOnly, 802MergeOption mergeOption, 822case MergeOption.NoTracking: 828case MergeOption.AppendOnly: 842case MergeOption.PreserveChanges: 843case MergeOption.OverwriteChanges: 877if (mergeOption == MergeOption.NoTracking) 907(setIsLoaded || mergeOption == MergeOption.NoTracking)), 925private static void UpdateRelatedEnd(RelatedEnd relatedEnd, IEntityWrapper wrappedEntity, IEntityWrapper wrappedRelatedEntity, bool setIsLoaded, MergeOption mergeOption) 939if (mergeOption == MergeOption.NoTracking) 968internal static int UpdateRelationships(ObjectContext context, MergeOption mergeOption, AssociationSet associationSet, AssociationEndMember sourceMember, EntityKey sourceKey, IEntityWrapper wrappedSource, AssociationEndMember targetMember, IList targets, bool setIsLoaded) 977if (mergeOption == MergeOption.NoTracking) 999if (mergeOption == MergeOption.NoTracking) 1004MergeOption.NoTracking, 1106internal static void RemoveRelationships(ObjectContext context, MergeOption mergeOption, AssociationSet associationSet, 1109Debug.Assert(mergeOption == MergeOption.PreserveChanges || mergeOption == MergeOption.OverwriteChanges, "Unexpected MergeOption"); 1115if (mergeOption == MergeOption.OverwriteChanges) 1126else if (mergeOption == MergeOption.PreserveChanges) 1163internal static bool TryUpdateExistingRelationships(ObjectContext context, MergeOption mergeOption, AssociationSet associationSet, AssociationEndMember sourceMember, EntityKey sourceKey, IEntityWrapper wrappedSource, AssociationEndMember targetMember, EntityKey targetKey, bool setIsLoaded, out EntityState newEntryState) 1165Debug.Assert(mergeOption != MergeOption.NoTracking, "Existing relationships should not be updated with NoTracking"); 1215case MergeOption.AppendOnly: 1222case MergeOption.OverwriteChanges: 1230case MergeOption.PreserveChanges: 1299case MergeOption.AppendOnly: 1302case MergeOption.OverwriteChanges: 1334case MergeOption.PreserveChanges:
System\Data\Objects\RefreshMode.cs (2)
26ClientWins = MergeOption.PreserveChanges, 33StoreWins = MergeOption.OverwriteChanges,
System\Data\Objects\Span.cs (2)
44internal static bool RequiresRelationshipSpan(MergeOption mergeOption) 46return (mergeOption != MergeOption.NoTracking);
System\Data\Query\ResultAssembly\BridgeDataReader.cs (3)
142const System.Data.Objects.MergeOption NoTracking = System.Data.Objects.MergeOption.NoTracking; 145Shaper<RecordState> recordShaper = shaperFactory.Create(storeDataReader, null, workspace, System.Data.Objects.MergeOption.NoTracking, true);
System.Data.Services (2)
System\Data\Services\Providers\ObjectContextServiceProvider.cs (2)
387objectQuery.MergeOption = MergeOption.AppendOnly; 912result.MergeOption = MergeOption.NoTracking;
System.Web.Entity (1)
System\Data\WebControls\EntityDataSourceView.cs (1)
337queryT.MergeOption = MergeOption.AppendOnly;