/// <summary> /// 指定された型の主キーのIDを生成します。 /// </summary> /// <typeparam name="T">テーブルにマッピングされた型</typeparam> /// <param name="connection">データベース接続</param> /// <returns>生成されたID</returns> public static int GenerateAutoId <T>(this IDbConnection connection) { var sql = PrimitiveSql.CreateNextAutoIdSql <T>(); return(connection.Query <SequenceNextValue>(sql) .Single() .NEXTVAL); }
/// <summary> /// 指定された型の主キーのIDを非同期的に生成します。 /// </summary> /// <typeparam name="T">テーブルにマッピングされた型</typeparam> /// <param name="connection">データベース接続</param> /// <returns>生成されたID</returns> public static async Task <int> GenerateAutoIdAsync <T>(this IDbConnection connection) { var sql = PrimitiveSql.CreateNextAutoIdSql <T>(); return((await connection.QueryAsync <SequenceNextValue>(sql) .ConfigureAwait(false)) .Single() .NEXTVAL); }