IQueryable无法工作的地方

时间:2010-06-08 22:17:31

标签: c# nhibernate model-view-controller

我正在使用N-Hibernate并且有一个名为Boxers的类/表

我还有一个潜在客户表,告诉我们拳击手是否是潜在客户。 (这个表只是boxersID的一列)

所以我希望得到所有潜在的拳击手(意味着所有拳击手在潜在客户表中都有id)

Public static IQueryable<Boxer> IsProspect(this IQueryable<Boxer> query)
{
return query.Where(x => x.Prospect != null);
}

这并没有把我的拳击手名单减少到潜在的拳击手...但是如果我调试并看看任何拳击手,那么每个拳击手旁边都会有正确或错误......

为什么where子句没有正确地删除列表?

1 个答案:

答案 0 :(得分:0)

我建议删除前景表并在Boxers表中添加一个名为'IsProspect'的列,它只是某种类型的布尔值。这将简化您的数据库架构和NHibernate映射。

除此之外,检查x.Prospect不为空将返回所有Boxer。相反,请使用以下行:

return query.Where(x => x.Prospect);

只需检查布尔值是否为真,而不是检查它是否为空。