Z.EntityFramework.Plus.AuditExtensions.WebDBを使用して監査履歴を取得する


質問

私はZ.EntityFramework.Plusパッケージを使用してプロジェクトで監査機能を実装しています。私はDBの最初のアプローチに従っている、私はここで説明したように2つの監査テーブルを作成したクエリを実行する:.edmxファイルを更新することによって、私はそれらの新しいDBセット

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

今私は監査履歴を取得したい、私はZ.EntityFramework.Plus名前空間でWhere拡張メソッドを使用します:

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プロジェクトのオーナーです

現在、カスタムクラスのAuditEntriesAuditEntryPropertiesでDBの最初のアプローチを使用しています。だから、クラスとコードファーストを使用していないAuditEntryAuditEntryProperty Z.EntityFramework.Plusライブラリで提供します。

ライブラリが提供するクラスの拡張メソッドが作成されているため、クラスと互換性がありません。

このソースで見つけた同じ拡張メソッドを自分の側に実装する必要があります: DbSet`AuditEntry.cs

おそらくさらに拡張メソッドが必要になるでしょう。

監査機能は、この機能のように拡張性を高めるために、夏に完全に再コーディングされることになっています。

編集:サブ質問に答える

それを実装する方法は?

次に、実装方法の例を示します。https : //gist.github.com/mshwf/af017b50ceb2994d953762ef2b20386d





ライセンスを受けた: CC-BY-SA
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ