我正在使用EF6与EF Provider Wrappers进行二级缓存,但它无法正常工作。
我收到此错误:
找不到具有不变名称“EFCachingProvider”的ADO.NET提供程序的实体框架提供程序。确保提供程序已在应用程序配置文件的“entityFramework”部分中注册。有关详细信息,请参阅http://go.microsoft.com/fwlink/?LinkId=260882。
查看上面的链接后,我发现以下错误后使用配置文件注册:
实体框架提供程序类型'EFCachingProvider.EFCachingProviderFactory,EFCachingProvider,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = def642f226e0e59b'的'Instance'成员未返回继承自'System.Data.Entity的对象。 Core.Common.DbProviderServices'。实体框架提供程序必须从此类继承,并且“实例”成员必须返回提供程序的单例实例。这可能是因为提供商不支持Entity Framework 6或更高版本。
答案 0 :(得分:1)
由于EF6(以及其他一些功能)中提供程序模型的更改,EF缓存提供程序无法与EF6 +版本一起使用。我为EF 6.1创建了二级缓存 - 有关详细信息,请参阅this blog post。