クエリコードの何が問題になっていますか?nullを返しています。これまで見てきた他の例と何ら変わりはありません。「建物」変数がnullである理由のいくつかは何である可能性があります。
テーブルは空ではなく、いくつかの結果を返すはずです。
データベース内のテーブル:
Buildings(BuildingId、BuildingName)
UsersBuildings(UserId、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};