¿Las clases genéricas no son compatibles como modelos en Entity Framework?

Estoy tratando de hacer algo como esto:

public class TrackerContext : DbContext
{
    public bool TrackNewValues { get; set; }

    public TrackerContext(bool trackNewValues = false)
        : base()
    {
        TrackNewValues = trackNewValues;
    }

    public TrackerContext(string connectinString, bool trackNewValues = false)
        : base(connectinString)
    {
        TrackNewValues = trackNewValues;
    }

    public DbSet<AuditLog<string>> AuditLog { get; set; }
    public DbSet<AuditLogChild> LogChildren { get; set; }
}



public class AuditLog<UserIdOrUserNameColumnType>
{
    public AuditLog()
    {
        Children = new List<AuditLogChild>();
    }

    [Key]
    public Guid AuditLogID { get; set; }

    public UserIdOrUserNameColumnType UserId { get; set; }

    [Required]
    public DateTimeOffset EventDateUTC { get; set; }
}

Pero supongoDbSet<AuditLog<string>> no es apoyado. Me sale este error:

Información adicional: El tipo 'TrackerEnabledDbContext.AuditLog`1 [System.String]' no se asignó. Compruebe que el tipo no se haya excluido explícitamente mediante el método Ignorar o la anotación de datos NotMappedAttribute. Verifique que el tipo se haya definido como una clase, no sea primitivo ni genérico, y no se herede de EntityObject.

¿Hay alguna manera de que pueda implementarpublic DbSet<AuditLog<string>> AuditLog { get; set; } ?

Respuestas a la pregunta(2)

Su respuesta a la pregunta