我在 EF6 Code First 项目中使用 EntityFramework.Plus 的审计功能。当我添加以下代码时:
public virtual DbSet<AuditEntry> AuditEntries { get; set; }
public virtual DbSet<AuditEntryProperty> AuditEntryProperties { get; set; }
static EntityContext()
{
AuditManager.DefaultConfiguration.AutoSavePreAction = (context, audit) =>
{
var Entities = context as EntityContext;
if (Entities != null)
{
Entities.AuditEntries.AddRange(audit.Entries);
}
else throw new InvalidOperationException($"Context is null for {context.Database.Connection}");
};
}
我收到以下错误:
在模型生成期间检测到一个或多个验证错误:\r\n\r\nWebsite.Core.Entities.Audit: : EntityType 'Audit' 没有定义键。定义此 EntityType 的键。\r\nAudits: EntityType: EntitySet 'Audits' 基于没有定义键的类型 'Audit'。\r\n", "exceptionType": "System.Data.Entity.ModelConfiguration。模型验证异常”
审计不是我项目中的实体-如错误所述。当我删除上面的代码时,这个错误就被删除了。
任何人都可以帮忙吗?是否可以禁止外部库类型的模型验证?
提前致谢
HS