ahmed_sa Ответов: 2

Как загрузить значение из последнего столбца employeeid + 1 В добавить действий


У меня есть имя контроллера emp есть действие add
мне нужно, когда действие add view loaded отображает последнее значение, увеличенное на единицу в текстовом поле employeeid
то есть предположим что у меня есть в datbase employeeid 1 тогда когда действие add view loaded employeeid должно иметь 2
так вот как это сделать, пожалуйста ?
в действии то, что я пишу
[httpget]
 public IActionResult Create()
        {
what i write here
}
on view add 
what i write

What I have tried:

<pre>  var results = _context.GetAll().Where(Employee => Employee.EmployeeId> Employee.EmployeeId).OrderBy(Employee => Employee.EmployeeId).FirstOrDefault();

Bryian Tan

Просто любопытно, что employeeId не автоматически увеличивается в таблице?

2 Ответов

Рейтинг:
1

Wendelius

Если идея состоит в том, чтобы определить значение ключа для новой записи в базе данных, обычно приложение этого не делает. Вместо этого база данных назначает ключ при добавлении записи.

Например, если два пользователя добавляют строку одновременно, то на основе вашего кода они могут попытаться использовать одно и то же значение идентификатора для сотрудника. Это приведет к нарушению ключа или к дублированию записи, в зависимости от ваших определений схемы.

Если это приложение SQL Server, вы можете использовать IDENTITY (Property) (Transact-SQL) - SQL Server | Microsoft Docs[^] для столбца Id, чтобы определить его как автоматически увеличивающийся. После вставки вы можете получить вставленный calue с помощью @@IDENTITY (Transact-SQL) - SQL Server | Microsoft Docs[^]


Рейтинг:
0

Patrice T

Цитата:
Как загрузить значение из последнего столбца employeeid + 1 В добавить действий

Вся эта идея неверна, потому что SQL server является многопользовательским, и если 2 пользователя добавляют нового сотрудника одновременно, то оба заканчиваются с одним и тем же новым идентификатором.
Единственное решение-заставить сервер сгенерировать новый идентификатор.
этот конкретный запрос выполняется с помощью make the id 'auto increment'
SQL автоматическое увеличение поля[^]