我的数据库表中有一个名为 IsActive
的字段,它可以是 True
或 False
。但是,当我查询数据库时,我的查询也会返回非事件行:
这是我的 LINQ 查询:
var j = from x in db.DashboardMenus
where x.ParentID == c.SiteMenuID && c.IsActive == true
orderby x.SortOrder ascending
select x;
最佳答案
您的查询中有错字。当您应该使用 x.IsActive
时,您却在使用 c.IsActive
,因为这是您要查询的表对象。否则,只要 c
处于事件状态(这似乎是您的问题),它就会返回所有 x
对象,其中 ParentID 和 SiteMenuID 匹配。
var j = from x in db.DashboardMenus
where x.ParentID == c.SiteMenuID && x.IsActive
orderby x.SortOrder ascending
select x;
将来,使用更具描述性(和更长)的变量名(甚至对于 LINQ 查询)可能会更好地为您服务,以更好地确保您不会再次遇到此问题。
关于c# - bool LINQ 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15818052/