/// <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)); }