List.Max(x =>x.ID) Не работает

У меня есть таблица, в которой есть одно свойство с именем ID_client, где находится первичный ключ. Мне нужно найти максимальное значение этого свойства и сделать +1, чтобы назначить его новому клиенту. У меня есть следующий код..

public int IDuser()
    {

        MembershipUserCollection iduser = Membership.GetAllUsers();

        foreach (MembershipUser member in iduser)
        {

            UserEntity entity = new UserEntity();
            entity.Username = member.UserName;
            entity.Roles = "Users";
            entity.Email = member.Email;
            for (int i = 1; i <=iduser.Count; i++)
            {
                entity.ID_client = i;
            }
            _entities.Add(entity);

        }

        int maxID = _entities.Max(x => x.ID_client) +1;

        return maxID;

    }

Если я создам, например, четырех пользователей, все будет в порядке, 1, 2, 3 и 4. Но если я удалю третьего пользователя, у меня будет 1, 2 и 4 как ID_client, и следующий новый пользователь, я хочу назначить 5, но эта функция возвращает мне 4, а не 5. Это похоже на то, как функция делает счет + 1 вместо максимального значения +1.

Кто-нибудь может мне помочь?

Спасибо.

0
задан DOK 12 May 2012 в 15:24
поделиться