2013-02-10 73 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