2011-08-12 80 views
1

我對此感到茫然。首先,一些奇怪的事情:Asp.NET MVC3 + MySQL,總是返回null

每次我打開一個連接,時間(如MySQL中日誌所示)

,下面的命令excecuted:

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控制器(相同的結果也存儲庫類等的內部)

回答

0

看起來像我發現混亂的原因,但爲什麼這個錯誤發生甘拜下風: (邪惡)的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> 

從配置中刪除,這使得一切都很好,很正常!

1

有你在頂層Web.configApp.config正確指定ConnectionString(即一個具有上述代碼)?

調試並嘗試找出是否您的MyEntitiesnull或其他。

+0

您好,感謝您的回覆。是連接字符串是正確的:數據庫模式通過自動更新工具進行更新,ELMAH記錄(並顯示)錯誤沒有問題! 實體對象被填充適當的對象集,直到最後一個IQueryable階段,一切似乎都很好。堆棧跟蹤會有幫助嗎? –