Dapper + MSAccess: Как получить идентификатор вставленной строки
Я использую Dapper с C # и бэкэнд MS Access. Мой метод DAL вставляет запись в базу данных. Я хочу вернуть уникальный идентификатор (или обновленный POCO с уникальным идентификатором) вставленной строки. Я ожидаю, что моя функция будет выглядеть примерно так (я знаю, что это не работает; просто чтобы объяснить, чего я хочу): -
public MyPoco Insert(MyPoco myPoco)
{
sql = @"INSERT INTO MyTable (Field1, Field2) VALUES (@Field1, @Field2)";
var param = GetMappedParams(myPoco);//ID property here is null.
var result = _connection.Query<MyPoco>(sql, param, null, false, null, CommandType.Text);.Single();
return result;//This result now contains ID that is created by database.
}
Я из мира NHibernate и POCO автоматически обновляется с помощью NH. Если не; мы можем вызвать метод Refresh, и он обновит идентификатор. Я не знаю, как этого добиться с помощью Dapper.
Я читаюэтот вопрос по SO, который не актуален, так как говорит о SQL Server.
Другаяэтот вопрос не получил ответа.
Я читаюэтот вопрос, где принятый ответ объясняет недостатки использования@@Identity
.