示例#1
0
        private void UpdateInternal(T entity)
        {
            //entity.ThrowIfArgumentNull(nameof(entity));

            EntityEntry entry        = _context.Entry(entity);
            var         currentState = entry.State;

            if (currentState == EntityState.Detached)
            {
                var existing = GetById(entity.Id);

                if (existing != null)
                {
                    entry = _context.Entry(existing);
                    entry.CurrentValues.SetValues(entity);
                }
            }

            entry.State = EntityState.Modified;
        }