2015-06-20 114 views
0

我想要在數據庫中的特定表中進行搜索,我需要的是將這些值作爲列表。這是我的代碼。但問題是,它使返回null即使當表中的數據:當創建數據庫表的列表時返回null

List<Acc_Info> result = new List<Acc_Info>(); 
using (DataBase) 
{ 

    IEnumerable<Acc_Info> searchRes = (from f in DataBase.Acc_Infos 
             where f.UniqueName == s 
             select f).Distinct(); 
    result = searchRes.ToList(); 
} 

沒有爲「S」的值,它可以看到它。我無法弄清楚這個問題。

+0

此代碼不返回空值(沒有'return'語句)並且沒有可以爲空的變量。顯示包含此代碼及其調用的整個方法,也許有一個'try-catch'塊可以吞噬異常並返回null。 – CodeCaster

+0

謝謝你的回答,通過返回null我的意思是,它根本不返回任何東西。 –

回答

0

當你說「s」的值代表變量「s」的內容時,對吧?當你說它返回null時,你的意思是它不返回任何對象,對吧?我問你這是因爲你顯示的代碼不能返回null。

我要做的第一件事是通過在調試模式下運行代碼或打開數據庫分析器(如果您使用SQL Server時使用SQL Server Profiler)來檢查EF正在生成的查詢。然後,您可以在數據庫中手動執行該查詢並找出發生了什麼。你的代碼似乎沒問題,很可能變量「s」的內容與表中的任何行都不匹配。

+0

感謝您的回答,通過返回null我的意思是說,它根本不返回任何東西,對於「s」的值是的我的意思是它不是null,它包含字符串,而調試列表的值始終保持空值。我確信匹配是因爲它搜索到的另一個函數讓賬戶登錄,所以我查找的數據確實存在。我也查找了數據,並確實存在於表格中。 –