public void Load(IConfiguration configuration) { using (new UnicornOperationContext()) { var users = _userDataStore .GetAll() .Where(user => _userPredicate.Includes(User.FromName(user.User.UserName, false)).IsIncluded).ToArray(); foreach (var user in users) { DeserializeUser(user); } if (_syncConfiguration.RemoveOrphans) { var existingOrphanUsers = UserManager.GetUsers() .GetAll() .Where(user => _userPredicate.Includes(user).IsIncluded) .Where(includedUser => !users.Any(user => user.User.UserName.Equals(includedUser.Name, StringComparison.OrdinalIgnoreCase))); foreach (var orphan in existingOrphanUsers) { _logger.RemovedUser(orphan); Membership.DeleteUser(orphan.Name); } } } }