我正在尝试配置Audit.net并定义用于保存日志的自定义逻辑。有没有办法在上下文中配置包含的实体?我试过了`
public ResidentMasterContext(DbContextOptions options) : base(options)
{
AuditDataProvider = new DynamicDataProvider();
Mode = AuditOptionMode.OptIn;
IncludeEntityObjects = true;
EntitySettings = new Dictionary<Type, EfEntitySettings>
{
{typeof(Apartment), new EfEntitySettings()}
};
}但是OnScopeSaving并没有开火。当我将模式更改为OptOut时,它会获取所有实体
发布于 2018-08-27 11:23:21
我猜你指的是Audit.NET EntityFramework扩展。
如果使用OptIn,则需要使用[AuditInclude]属性标记包含的实体,或者使用fluent API的Include方法。您可以查看文档here。
使用fluent API进行EF配置的示例,仅包括实体User和UserDetail
Audit.EntityFramework.Configuration.Setup()
.ForContext<ResidentMasterContext>(config => config
.IncludeEntityObjects())
.UseOptIn()
.Include<User>()
.Include<UserDetail>();输出配置示例:
Audit.Core.Configuration.Setup()
.UseDynamicProvider(_ => _.OnInsertAndReplace(auditEvent =>
{
Console.WriteLine(auditEvent.ToJson());
}));https://stackoverflow.com/questions/52013216
复制相似问题