【发布时间】:2011-03-05 16:14:25
【问题描述】:
我有一个使用 LINQ-to-SQL 的查询。它查询底层数据库表 Rooms。它使用Where条件来缩小结果范围,即:
- 性别。
- 当前入住率
- 检查了可用标志
我知道这应该返回结果,但它一直返回一个空集。有任何想法吗?代码如下
Dim selectedHalls = (From sh In dbHalls.Rooms _
Where sh.gender = Session("gender").ToString _
Where sh.max_occupancy > sh.current_occupancy _
Where sh.is_available = 1 _
Select sh.building_name).Distinct()
更新:我已经验证问题出在 sh.is_available = 1 的语句上,因为这是一个位字段,所以没有意义。
【问题讨论】:
-
您是否在此处设置断点,运行应用程序,将鼠标悬停在
selectedHalls上并查看生成的 SQL 代码?尝试将其复制到 SSMS 中,看看为什么它不会产生任何结果... -
嗯...我刚刚尝试过,但是当我停止时,我没有看到 SQL 查询。它说“selectedHalls|Database Query”并且它会扩展 - 但我不确定在哪里可以找到 SQL?
标签: asp.net vb.net linq linq-to-sql