【发布时间】:2014-02-26 02:57:11
【问题描述】:
我正在尝试做这样的事情:
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; } ?
【问题讨论】:
标签: c# asp.net database entity-framework orm