IQueryable的失败,在哪里工作

问题描述:

我使用的N- Hibernate和有一个叫义和团IQueryable的失败,在哪里工作

类/表我也有一个前景表,告知用户,如果拳击手是一个前景使用。 (此表只是boxersID的一列)

所以我想这是前景(意思是有没有ID的前景表中的所有拳击手)

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

这并不减磅所有拳手我拳击手名单是前景...然而,如果我调试,看看任何拳击手,它将有正确或错误旁边每一个正确的...

为什么不是正确的修剪下列表的where子句?

我会建议摆脱潜在顾客表并向义和团表中添加一个名为“IsProspect”的列,这只是某种布尔值。这将简化数据库模式和NHibernate映射。

除此之外,检查x.Prospect不为空将返回所有Boxer s。相反,使用这条线:

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

只是检查布尔值是真实的,而不是检查,这不是空。

+0

我会prefere不要把前景到表,因为它是不一样的东西 您的代码行(移动“!= NULL”)未按不能做展望==布尔 – Steve 2010-06-08 22:43:40

+0

的 对象@Steve我认为Aaron正在假设(这也是我的看法),“x.Prospect”是“Boxer”的“bool”属性。这也是为什么你的方法返回所有'Boxer'对象 - 'true'和'false'都不是'null'的原因。 – Jay 2010-06-09 03:02:02

+0

我想我不明白为什么你的代码是这样的。 “展望”对象究竟是什么?如果它只不过是对“义和团”的引用,那么就我所见,这是额外的不必要的复杂性。但是,如果您在“展望”中看到“正确的每一个正确”旁边的真/假,则应该返回query.Where(x => x.Prospect!= null && x.Prospect。 IsProspect)'。 – Aaron 2010-06-09 12:25:18