Как я могу сделать автоматическое увеличение ID и скрытый от пользователя?

1

Я работаю над веб-приложением С# MVC 4

я создал страницу, связанную с БД, и мой вопрос заключается в том, что в записи "Создать новую запись" пользователь может ввести идентификатор, имя,...

как я могу скрыть в представлении от пользователя идентификатор и сделать его автоматическим инкрементным числом, например, когда пользователь переходит на страницу "Создать новый", ему придется начинать заполнять имя, адрес..., не видя поля идентификатора, которое должно автоматически введите значение числа:

вот мой код модели:

public partial class Employee
{
    public int Identifier { get; private set; }
    public string Name { get; set; }
    public string Address { get; set; }
    public string Status { get; set; }
}
Теги:
asp.net-mvc
asp.net-mvc-4

4 ответа

0
Лучший ответ

Отредактируйте представление и удалите из него идентификационную часть, тогда это зависит от того, как вы создали БД, если у вас есть автоинкремент, иначе вы должны управлять им в контроллере. Matteo

1

Вы должны позволить БД обрабатывать инкремент Ид. Я бы назначил идентификатор частным лицам, если он вам нужен для деловых операций. Но вы можете удалить его из представления.

0

Используйте поле базы данных AutoIncrement. Вот несколько общих способов сделать это

Если после вашего оператора INSERT INTO вы хотите получить идентификатор, сгенерированный вашей базой данных

SELECT SCOPE_IDENTITY();

для SQL Server вернуть идентификатор, который он сгенерировал.

  • 0
    .... 0r использует ORM, такой как Entity Framework, который автоматически возвращает вновь вставленный ID в ваш объект после его сохранения ....
-1

Обычно вы используете Guid для представления идентификатора. Причина этого в том, что вы не можете узнать последний идентификатор последнего вставленного объекта (в вашем случае Employee). Чтобы найти его, вы вставляете его в базу данных (пусть db обрабатывает приращение), а сервер базы данных отвечает инкрементным идентификатором.

Чтобы узнать точный идентификатор вставленного объекта, используйте Guid. Guid - очень большое целое число, которое имеет очень небольшой шанс быть идентичным другому вставленному Гиду. Таким образом, вам не придется ждать, пока база данных ответит вставленным ID.

Обратите внимание, что вы не можете наложить указатель на int. Вы должны изменить тип поля.

  • 0
    Guid не является целым числом, и в качестве примечания для OP значение столбца по умолчанию может быть установлено на NewID ()
  • 0
    @Silvermind Это из MSDN A GUID is a 128-bit integer (16 bytes) that can be used across all computers and networks wherever a unique identifier is required. Such an identifier has a very low probability of being duplicated. msdn.microsoft.com/en-us/library/system.guid.aspx Также я предлагал лучший подход.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню