Общие классы не поддерживаются в качестве моделей в Entity Framework?
Я пытаюсь сделать что-то вроде этого:
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; }
}
Но я думаюDbSet<AuditLog<string>>
не поддерживается. Я получаю эту ошибку:
Дополнительная информация: тип 'TrackerEnabledDbContext.AuditLog`1 [System.String]' не был сопоставлен. Убедитесь, что тип не был явно исключен с помощью метода Ignore или аннотации данных NotMappedAttribute. Убедитесь, что тип был определен как класс, не является примитивным или универсальным и не наследуется от EntityObject.
Есть ли способы, которые я могу реализоватьpublic DbSet<AuditLog<string>> AuditLog { get; set; }
?