找不到类型或命名空间名称“DbEntityEntry<TEntity>”

A B*_*elp 4 c# entity-framework-core

我有以下在 EF7 之前使用的界面。当我尝试使用 EF7 构建应用程序时,我收到以下错误,而且我似乎在任何地方都找不到这种类型。我非常感谢您关于如何更改 EF7 代码的建议。

错误 CS0246 找不到类型或命名空间名称“DbEntityEntry”(您是否缺少 using 指令或程序集引用?)

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();
}
Run Code Online (Sandbox Code Playgroud)

pok*_*oke 9

DbEntityEntryEntity Framework 7 中没有类型。整个底层更改跟踪实现已更改,并且没有准确的复制。

EntityEntryMicrosoft.Data.Entity.ChangeTracking命名空间中有一个类型具有类似的用途,但它的工作方式略有不同,因为它与DbEntityEntry早期版本的实体框架中的类型不兼容。

您可以从ChangeTracker可通过访问的 访问它DbContext.ChangeTracker

但至于保留该界面,这不太可能对您有所帮助,因为很多事情已经发生了变化。