예제 #1
0
        /// <inherit/>
        public async Task <Guid> AddAsync(T entity)
        {
            if (entity == null)
            {
                throw new ArgumentNullException(nameof(T));
            }

            var paramObject = new ExpandoObject();

            foreach (var property in QueryBuilderHelper.GetPropertiesWithAttribute <T>(typeof(DapperInsertAttribute)))
            {
                paramObject.TryAdd(property.Name, property.GetValue(entity));
            }

            return(await Connection.ExecuteScalarAsync <Guid>(QueryBuilderHelper.GetInsertQuery <T>(), paramObject, Transaction));
        }