コード例 #1
0
        public void Existing(T model)
        {
            if (model == null)
            {
                throw new ArgumentNullException(nameof(model));
            }

            _trackedModels.Add(model, TrackedModel <T> .Existing(model));
        }
コード例 #2
0
        public void New(T model)
        {
            if (model == null)
            {
                throw new ArgumentNullException(nameof(model));
            }

            if (_trackedModels.TryGetValue(model, out var existingModel) && existingModel.State == TrackedModelState.Removed)
            {
                _trackedModels[model] = existingModel.WithNewState(TrackedModelState.Existing);
                return;
            }

            _trackedModels.Add(model, TrackedModel <T> .New(model));
        }