Как включить конкретный столбец (идентификатор пользователя) в аудит - PullRequest
0 голосов
/ 17 января 2019

У меня есть сомнения по поводу того, как реализовать пользовательский код в таблице аудита. Audit.net включает в себя имя пользователя, подключенного к базе данных (пример: sa), но я также хотел бы включить идентификатор пользователя моей системы. Я провел несколько тестов, читая код, но мне это не удалось. Можете ли вы показать мне, где я не прав, пожалуйста?

//public partial class coletasEntities : DbContext (orignal)
public partial class coletasEntities : AuditDbContext (changed)
{
...
}

//my main form_load
 private void frmPrincipal_Load(object sender, EventArgs e)
    {
        Audit.Core.Configuration.Setup()
            .UseEntityFramework(x => x
            .AuditTypeNameMapper(typeName => "_Audit" + typeName)
            .AuditEntityAction<IAudit>((ev, ent, auditEntity) =>
            {
                auditEntity.AuditUser = Global.id_usuario; //my user ID
            }));

....
}

//interface create do add my custom property
public interface IAudit
{
     int AuditUser { get; set; }
}

Если я просто изменю класс наследования с DbContext на Auditdbcontext, произойдет автоматическая генерация для каждой проверяемой таблицы, но пользовательское поле, которое я хочу (очевидно), не включено.

С измененным кодом, как указано выше, ничего не создается, ничего не происходит.

Я использую Entity Framework 6.

...