Check for Null or Default on C# properties, whether they be reference type or classes

private static bool IsNullOrDefault<T>(this PropertyInfo pi, T obj)
{
    object defaultValue = pi.PropertyType.IsValueType
        ? Activator.CreateInstance(pi.PropertyType)
        : null;
    var actualValue = pi.GetValue(obj, default);

    return Equals(defaultValue, actualValue);
}

Automatically / Dynamically create Swagger documentation for all API Endpoints

            // Generate Documentation for each endpoint automatically
            var actionDescriptors = actionDescriptor.ActionDescriptors.Items.ToList();
            actionDescriptors.ForEach(x =>
            {
                IFilterMetadata noContent = new ProducesResponseTypeAttribute(204);
                x.FilterDescriptors.Add(new FilterDescriptor(noContent, 0));

                IFilterMetadata unauth = new ProducesResponseTypeAttribute(401);
                x.FilterDescriptors.Add(new FilterDescriptor(unauth, 0));

                IFilterMetadata serverError = new ProducesResponseTypeAttribute(500);
                x.FilterDescriptors.Add(new FilterDescriptor(serverError, 0));
            });