Сделайте запрос между этими двумя вставками, этот метод из Massive может быть полезен:
public object Scalar(string sql, params object[] args) {
object result = null;
using (var conn = OpenConnection()) {
result = CreateCommand(sql, conn, args).ExecuteScalar();
}
return result;
}
Ваш sql будет = "select scope_identity ()"
ОБНОВЛЕНИЕ 2013/02/26
Снова глядя на код Massive, нет надежного способа восстановить последний вставленный идентификатор.
Код выше будет работать, только когда соединение, которое делает "select scope_identity ()", объединено в пул. (Это должно быть то же соединение, в котором выполнена вставка).
Massive * Метод 1014 * возвращает Dynamic, который содержит поле ID, заполненное «SELECT @@ IDENTITY». Он получает последний вставленный идентификатор из глобальной области видимости, что является очевидной ошибкой (очевидной в сценариях многопоточности).