internal BaseSaveResult(DataServiceContext context, string method, DataServiceRequest[] queries, SaveChangesOptions options, AsyncCallback callback, object state) : base(context, method, callback, state) { this.entryIndex = -1; this.RequestInfo = new System.Data.Services.Client.RequestInfo(context); this.Options = options; this.SerializerInstance = new Serializer(this.RequestInfo); if (queries == null) { this.ChangedEntries = (from o in context.EntityTracker.Entities.Cast<Descriptor>().Union<Descriptor>(context.EntityTracker.Links.Cast<Descriptor>()).Union<Descriptor>((from e in context.EntityTracker.Entities select e.StreamDescriptors).Cast<Descriptor>()) where o.IsModified && (o.ChangeOrder != uint.MaxValue) orderby o.ChangeOrder select o).ToList<Descriptor>(); foreach (Descriptor descriptor in this.ChangedEntries) { descriptor.ContentGeneratedForSave = false; descriptor.SaveResultWasProcessed = 0; descriptor.SaveError = null; if (descriptor.DescriptorKind == DescriptorKind.Link) { object target = ((LinkDescriptor) descriptor).Target; if (target != null) { Descriptor entityDescriptor = context.EntityTracker.GetEntityDescriptor(target); if (EntityStates.Unchanged == entityDescriptor.State) { entityDescriptor.ContentGeneratedForSave = false; entityDescriptor.SaveResultWasProcessed = 0; entityDescriptor.SaveError = null; } } } } } else { this.ChangedEntries = new List<Descriptor>(); } }