我正在使用tracker-enabled-dbcontext并使用文档来捕获数据库审计日志,配置我们需要使用的跟踪
EntityTracker
.TrackAllProperties<NormalModel>()
.Except(x => x.Description)
.And(x => x.Id);
我有多个模型类,所以我决定动态控制配置。所以我需要使用命名空间检索模型类并将其传递给 TrackAllProperties 方法。
我试着喜欢这个,
Type test = Type.GetType("Mark.Domain.assets.AssetsSettings");
TrackerEnabledDbContext.Common.Configuration.EntityTracker.TrackAllProperties<test>();
但它不接受“测试”类型
这是 TrackAllProperties 方法。我不允许修改以下方法
public static TrackAllResponse<T> TrackAllProperties<T>()
{
OverrideTracking<T>().Enable();
var allPublicInstanceProperties = typeof (T).GetProperties(BindingFlags.Public | BindingFlags.Instance);
//add high priority tracking to all properties
foreach (var property in allPublicInstanceProperties)
{
Func<PropertyConfiguerationKey, TrackingConfigurationValue, TrackingConfigurationValue> factory =
(key,value) => new TrackingConfigurationValue(true, TrackingConfigurationPriority.High);
TrackingDataStore.PropertyConfigStore.AddOrUpdate(
new PropertyConfiguerationKey(property.Name, typeof (T).FullName),
new TrackingConfigurationValue(true, TrackingConfigurationPriority.High),
factory
);
}
return new TrackAllResponse<T>();
}
我怎样才能完成这项任务