В MySQL вы можете получить последний вставленный идентификатор поля автоинкремента, используя
Только для MySQL
SELECT last_insert_id() as Last_ID
Это будет работать при условии, что Entity Framework использует SQL для управления базой данных MySQL.
Простой тест даст ответ, который я предполагаю.
Обратите внимание, что вы получите только последний вставленный идентификатор из текущего соединения (обычно это то, что вам нужно).
Нет способа (о котором я знаю) получить последний вставленный идентификатор других подключений, кроме
SELECT MAX(id) FROM sometable as Last_ID
, который будет работать, есливставка из другого соединения была зафиксирована.
Делаем его переносимым на другие БД
Если вы хотите сделать это решение переносимым на другие БД, вы можетеСоздайте хранимую функцию следующим образом:
CREATE FUNCTION GetLastID: integer;
BEGIN
DECLARE lastid: integer;
SELECT last_insert_id() INTO lastid;
RETURN lastid;
END;
Затем вы можете изменить эту хранимую процедуру, если вы измените DB-backend.
Без необходимости перезаписывать любой другой код.
SELECT GetLastID() как Last_ID