Il tipo o il nome dello spazio dei nomi 'DbEntityEntry ' non può essere trovato

c# entity-framework-core

Domanda

Ho la seguente interfaccia che ho usato prima di EF7. Quando provo a creare l'applicazione utilizzando EF7, ricevo il seguente errore e non riesco a trovare questo tipo da nessuna parte. Apprezzerei molto i tuoi suggerimenti su come modificare questo codice per EF7.

Errore CS0246 Impossibile trovare il nome dello spazio dei nomi 'DbEntityEntry' (manca una direttiva using o un riferimento all'assembly?)

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();
}

Risposta accettata

Non esiste alcun tipo DbEntityEntry in Entity Framework 7. L'intera implementazione di rilevamento delle modifiche sottostante è cambiata e non esiste una replica esatta di ciò.

Esiste un tipo EntityEntry all'interno del nuovo spazio dei nomi Microsoft.Data.Entity.ChangeTracking che ha uno scopo simile ma funziona in modo leggermente diverso in quanto non è compatibile con il tipo DbEntityEntry nelle versioni precedenti di Entity Framework.

Puoi accedervi da ChangeTracker accessibile tramite DbContext.ChangeTracker .

Ma per quanto riguarda il mantenimento di questa interfaccia, è improbabile che questo ti aiuti dato che alcune cose sono cambiate.




Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché