【问题标题】:Asp.NET MVC3 + MySQL, always returns nullAsp.NET MVC3 + MySQL,总是返回 null
【发布时间】:2011-08-12 15:01:56
【问题描述】:

我对这个不知所措。首先,有点奇怪:

每次打开连接,(如mysql日志所示),都会执行以下命令:

SET character_set_results=NULL
SET NAMES utf8
SHOW COLLATION
SHOW VARIABLES

那么根本就没有选择查询!

一个简单的:

using (MyEntities myents = new MyEntities())
{
 var lala = (from r in myents.categories
                  select r).ToList();
        }

会产生错误:对象引用未设置为对象的实例。

即使是 .FirstOrDefault() 也会产生同样的错误! (如果数据集为空,它应该返回 null)。

我想我破坏了 asp.net!

Asp.net 版本 4 MySQL 连接器 6.4.3 MVC 3 控制器(相同的结果也在存储库类等中)

【问题讨论】:

    标签: asp.net mysql linq asp.net-mvc-3


    【解决方案1】:

    您是否在顶层Web.configApp.config(即具有上述代码的那个)中正确指定了ConnectionString

    调试并尝试找出是您的MyEntitiesnull 还是别的什么。

    【讨论】:

    • 您好,感谢您的回复。是的,连接字符串是正确的:通过自动更新工具可以很好地更新数据库模式,并且 ELMAH 会毫无问题地记录(并显示)错误!实体对象填充了适当的对象集,直到最后一个 IQueryable 阶段,一切似乎都很好。堆栈跟踪会有帮助吗?
    【解决方案2】:

    看起来我找到了造成混乱的原因,但是为什么会出现这个错误让我很困惑: (邪恶)NUGET 添加了这个:

     <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
            [...]
                <assemblyIdentity name="MySql.Data" publicKeyToken="c5687fc88969c44d"    culture="neutral" />
                <bindingRedirect oldVersion="0.0.0.0-6.4.3.0" newVersion="6.4.3.0" />
            </dependentAssembly>
         </assemblyBinding>
      </runtime>
    

    从配置中删除它会让一切都很好!

    【讨论】:

      猜你喜欢
      • 2013-02-16
      • 2016-04-08
      • 1970-01-01
      • 2012-01-23
      • 2018-08-04
      • 2019-01-20
      • 2019-03-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多