我的数据库表中有一个字段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;
我的数据库表中有一个字段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;
您的查询中有错字。您在c.IsActive
应该使用时使用x.IsActive
,因为那是您要查询的表对象。x
否则,只要处于活动状态,它将返回 ParentID 和 SiteMenuID 匹配的所有对象c
(这似乎是您的问题)。
var j = from x in db.DashboardMenus
where x.ParentID == c.SiteMenuID && x.IsActive
orderby x.SortOrder ascending
select x;
将来,您可能会得到更好的服务,即拥有更多描述性(和更长)的变量名称(即使对于 LINQ 查询也是如此),以更好地确保您不会再次遇到此问题。