형식 또는 네임 스페이스 이름 &#39;DbEntityEntry <TEntity> &#39; 찾을 수 없습니다

c# entity-framework-core

문제

EF7 전에 사용한 인터페이스는 다음과 같습니다. EF7을 사용하여 응용 프로그램을 빌드하려고하면 다음 오류가 발생하며이 유형을 어디서나 찾을 수 없습니다. EF7에 대해이 코드를 변경하는 방법에 대한 귀하의 제안에 정말 감사드립니다.

오류 CS0246 'DbEntityEntry'형식 또는 네임 스페이스 이름을 찾을 수 없습니다 (사용 지시문이나 어셈블리 참조가 누락 되었습니까?)

public interface IContext
{
    DbSet<Client> Clients { get; set; }
    DbSet<TEntity> Set<TEntity>() where TEntity : class;

    DbEntityEntry<TEntity> Entry<TEntity>(TEntity entity) where TEntity : class;

    int SaveChanges();
}

수락 된 답변

Entity Framework 7에는 DbEntityEntry 형식이 없습니다. 전체 기본 변경 내용 추적 구현이 변경되었으며 이에 대한 정확한 복제가 없습니다.

거기에있다 EntityEntry 새로운 내 타입 Microsoft.Data.Entity.ChangeTracking 유사한 목적을 가지고 네임 스페이스 만에 호환되지 않습니다으로는 약간 다르게 작동 DbEntityEntry 엔티티 프레임 워크의 이전 버전을 입력합니다.

당신은에서 액세스 할 수 있습니다 ChangeTracker 통해 액세스 DbContext.ChangeTracker .

그러나 인터페이스를 유지하는 것과 관련해서는 몇 가지 사항이 변경되어 도움이되지 않습니다.




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