Example #1
0
        /// <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);
        }
Example #2
0
        /// <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);
        }