2013-02-10 43 views
0

我的查詢代碼有什麼問題?它返回null,這與我看過的其他例子沒有什麼不同。 「buildings」var爲空的原因可能是什麼?LINQ Query將空值結果返回給匿名變量

表格不是空的,應該返回一些結果。

表在數據庫:

建築物(BuildingId,BuildingName)

UsersBuildings(用戶ID,BuildingId,BuildingQuantity,BuildingLevel)

var buildings = 
       from b in imDB.Buildings 
       join ub in imDB.UsersBuildings 
       on b.BuildingId equals ub.BuildingId 
       where ub.UserId == userId 
       select new { b.BuildingName, ub.BuildingLevel}; 
+0

userId的值是什麼? SQL事件探查器告訴你有關正在執行的查詢是什麼,並返回結果? – devdigital 2013-02-10 12:18:01

+0

在你的UsersBuildings tabel中BuildingLevel列在哪裏? – Prashant16 2013-02-10 12:20:22

+0

@devdigital UserId保存有效的整數。 – Deniz 2013-02-10 12:28:54

回答

1

BuildingLevel是在建築物表中,以便查詢應like like

var buildings = 
      from b in imDB.Buildings 
      join ub in imDB.UsersBuildings 
      on b.BuildingId equals ub.BuildingId 
      where ub.UserId == userId 
      select new { b.BuildingName, b.BuildingLevel}; 
+0

對不起,浪費你的時間,我的另一個錯誤,我輸入它在錯誤的表。如何像其他用戶所建議的那樣查看SQL Profiler? – Deniz 2013-02-10 12:33:09

+2

[對於SQL事件探查器,這可能會幫助你](http://www.codeproject.com/Articles/21371/SQL-Server-Profiler-Step-by-Step) – Prashant16 2013-02-10 12:38:57