¿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; }
?