類型或命名空間名稱&#39;DbEntityEntry <TEntity> &#39;無法找到

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

一般承認的答案

實體框架7中沒有DbEntityEntry類型。整個基礎更改跟踪實現已更改,並且沒有完全複製。

新的Microsoft.Data.Entity.ChangeTracking命名空間中有一個EntityEntry類型,它具有類似的用途,但它的工作方式略有不同,因為它與早期版本的Entity Framework中的DbEntityEntry類型不兼容。

您可以從ChangeTracker訪問它,可以通過DbContext.ChangeTracker訪問它。

但至於保持這個界面,這不太可能幫助你,因為很多事情都發生了變化。




許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因