Z.EntityFramework.Plus.AuditExtensions.Where를 사용하여 감사 내역을 검색하는 중 DB에서 처음?

entity-framework entity-framework-plus

문제

내 프로젝트에서 감사 기능을 구현하기 위해 Z.EntityFramework.Plus 패키지를 사용하고 있습니다. 나는 DB 접근법을 따르고 있는데, 여기에 설명 된 것처럼 두 개의 감사 테이블을 만든 쿼리를 실행한다. .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 첫 번째 접근 방식을 사용하고 AuditEntryProperties . 따라서 Z.EntityFramework.Plus 라이브러리에서 제공하는 AuditEntry 클래스 및 AuditEntryProperty 클래스 AuditEntry 코드 우선을 사용하지 않습니다.

확장 메서드는 라이브러리에서 제공하는 클래스에 대해 만들어 졌으므로 클래스와 호환되지 않습니다.

이 소스에서 발견 된 동일한 확장 메소드를 사용자 측에서 구현해야합니다. DbSet`AuditEntry.cs

아마도 더 많은 확장 방법이 필요할 것입니다.

감사 기능은이 기능과 같은 확장 성을 허용하기 위해 여름 동안 완전히 다시 코딩되어야합니다.

편집 : 답변을 하위 질문

그것을 구현하는 방법?

다음은이를 구현하는 예제입니다. https://gist.github.com/mshwf/af017b50ceb2994d953762ef2b20386d




아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.