实体框架分析器:无法确定类型为' system.data.sqlclient.sqlclientfactory'的提供者工厂的提供者名称。

时间:2016-06-14 06:39:59

标签: sql-server visual-studio exception entity-framework-6 profiler

当我使用Entity Framework Profiler 3.0在后台记录真实的SQL语句时,有时我会给出这个例外:

消息:无法确定类型为' system.data.sqlclient.sqlclientfactory'的提供程序工厂的提供程序名称。

来源:EntityFrameWork。

我在visual studio 2015调试模式下运行项目时出现此错误,它会显示一个文件浏览器以找到r5wldbbb.5.cs。我不知道这个文件是什么,它也不存在于Entity Framework Profiler文件夹中。所以当我取消它时,我给出了上述异常并引发了这个错误:

找不到r5wldbbb.5.c。
您需要找到r5wldbbb.5.cs来查看当前调用堆栈帧的源。

但是,当我取消Entity Framework Profiler时,我不会发出此错误。

我使用这些程序:
Visual Studio 2015.
MSSQL Server 2014.
EntityFramework 6.

任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

我终于修好了。

诀窍是更新你获得的方式并打开与数据库的连接:

var connectionString = ConfigurationManager.ConnectionStrings["yourContextName"].ConnectionString;    

var connectionFactoryService = (IDbConnectionFactory)DbConfiguration.DependencyResolver.GetService(typeof(IDbConnectionFactory);

var DbConn = connectionFactoryService.CreateConnection(connectionString);

让我知道它是否也适合你:)另外,不要忘记使用NuGet将EF Profiler更新到最新版本。