public override WriteModel <T> GetWriteModelForUpdate(TrackedModel <T> trackedModel) { var updateDefinition = GetUpdateDefinitionForObject(trackedModel.DirtyTracker, typeof(T), trackedModel.Model); return(new UpdateOneModel <T>(GenericBsonFilters.MatchSingleById(trackedModel.Model), updateDefinition.ToMongoUpdateDefinition <T>())); }
public override WriteModel <T> GetWriteModelForUpdate(TrackedModel <T> trackedModel) { return(new ReplaceOneModel <T>(GenericBsonFilters.MatchSingleById(trackedModel.Model), trackedModel.Model)); }
private IEnumerable <WriteModel <T> > DeleteRemovedModels(TrackedModelCollection <T> trackedModels) { var removedModels = trackedModels.OfState(TrackedModelState.Removed).Select(m => m.Model).ToArray(); return(removedModels.Select(m => new DeleteOneModel <T>(GenericBsonFilters.MatchSingleById(m)))); }