【问题标题】:Open: underlying provider failed on Open打开:基础提供程序在打开时失败
【发布时间】:2016-05-17 15:00:00
【问题描述】:

在使用带有 MySQL 连接器的 Entity Framemork 之前,我遇到了一个从未遇到过的问题。 我有下面的简单方法核心:

ps_manufacturer manufacturer = null;
using (var context = new afflelou_storeEntities())
{
       var manufacturerList = context.ps_manufacturer.Where(m => m.id_AA_manufacturer == anId).ToList();
       if (manufacturerList.Count > 0)
       {
             manufacturer = manufacturerList.ElementAt(0);
       }
}
return manufacturer;

数据库中没有数据,所以应该返回null。但相反,它向我抛出了这个错误:

打开:底层提供程序在打开时失败

我尝试使用 firstOrDefault 但没有任何效果... 我在想这是一个数据库连接错误,但我总是从我的数据库连接中使用 using,所以它从来没有发生过非封闭连接。 有人已经遇到过这个问题吗?

【问题讨论】:

  • StackOverflow 是一个英文社区,请用英文重写你的标题。
  • 看起来错误是在您的连接字符串中,与您提供的代码无关。可能使用了错误的提供程序(即 MySQL 数据库但使用 SQL 客户端提供程序)?
  • @LocEngineer,之前在相同的上下文中发出了一个请求并且它有效,所以它不是来自连接字符串......
  • 那么,会不会是之前那个“请求”引起的呢?也许错误在那里?

标签: c# mysql entity-framework linq


【解决方案1】:

肯定是你的字符串连接有问题,检查一下!如果您的凭据正确,请检查对数据库服务器执行 ping 操作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-13
    • 1970-01-01
    相关资源
    最近更新 更多