質問: 私はEF7の前に使った次のインターフェースを持っています。 EF7を使用してアプリケーションをビルドしようとすると、次のエラーが発生します。このタイプはどこにも見つからないようです。私はEF7のためにこのコードを変更する方法についてのあなたの提案に本当に感謝します。 > エラーCS0246型または名前空間の名前 'DbEntityEntry'が見つかりませんでした(usingディレクティブまたはアセンブリ参照がありませんか?) > > ``` public interface IContext { DbSet Clients { get; set; } DbSet Set() where TEntity : class; DbEntityEntry Entry(TEntity entity) where TEntity : class; int SaveChanges(); } ```
回答: Entity Framework 7には`DbEntityEntry`型はありません。基本的な変更追跡の実装全体が変更されており、これの正確なレプリケーションはありません。 同様の目的を持つ新しい`Microsoft.Data.Entity.ChangeTracking`名前空間には`EntityEntry`型がありますが、以前のバージョンのEntity Frameworkの`DbEntityEntry`型と互換性がないため、動作が少し異なります。 あなたはからアクセスでき`ChangeTracker`を介してアクセス可能で`DbContext.ChangeTracker` 。 しかし、そのインターフェースを維持することに関しては、かなりのものが変更されているので、これはあなたを助けることはまずありません。