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));
 }
예제 #3
0
        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))));
        }