получение истории аудита с использованием Z.EntityFramework.Plus.AuditExtensions.Where в БД сначала?


Вопрос

Я использую пакет Z.EntityFramework.Plus для реализации функции аудита в моем проекте; Я следую первому подходу DB, я запускаю запрос, который создал две таблицы аудита, как описано здесь : путем обновления файла .edmx я получил эти новые DBsets

public virtual DbSet<AuditEntries> AuditEntries { get; set; }
public virtual DbSet<AuditEntryProperties> AuditEntryProperties { get; set; }

теперь я хочу получить историю аудита, я использую метод расширения Where в пространстве имен Z.EntityFramework.Plus:

public virtual DbSet<AuditEntries> AuditEntries { get; set; }
public virtual DbSet<AuditEntryProperties> AuditEntryProperties { get; set; }

но компилятор кричит на меня, что он не может использовать DBset<AuditEntry> для DBSet<AuditEntries> как в определении Where которого требуется DbSet<AuditEntry> , а не DbSet<AuditEntries> , следует ли мне изменить имя Таблица?

Ответ эксперта

Отказ от ответственности : Я являюсь владельцем проекта Entity Framework Plus

В настоящее время вы используете первый подход DB с пользовательским классом AuditEntries и AuditEntryProperties . Таким образом, вы не используете Code First с классом AuditEntry и AuditEntryProperty предоставляемым библиотекой Z.EntityFramework.Plus.

Метод расширения был создан для класса, предоставляемого библиотекой, поэтому он несовместим с вашим классом.

Вам нужно будет реализовать на вашей стороне те же методы расширения, что и в этом источнике: DbSet`AuditEntry.cs

Вероятно, потребуется больше методов расширения.

Предполагается, что функция аудита будет полностью перекодирована в течение лета, чтобы обеспечить большую расширяемость, как эта функция.

EDIT: ответьте на вопрос

Как его реализовать?

Вот пример того, как его реализовать: https://gist.github.com/mshwf/af017b50ceb2994d953762ef2b20386d





Лицензировано согласно: CC-BY-SA
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему