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);
只是检查布尔值是真实的,而不是检查,这不是空。
我会prefere不要把前景到表,因为它是不一样的东西 您的代码行(移动“!= NULL”)未按不能做展望==布尔 – Steve 2010-06-08 22:43:40
的 对象@Steve我认为Aaron正在假设(这也是我的看法),“x.Prospect”是“Boxer”的“bool”属性。这也是为什么你的方法返回所有'Boxer'对象 - 'true'和'false'都不是'null'的原因。 – Jay 2010-06-09 03:02:02
我想我不明白为什么你的代码是这样的。 “展望”对象究竟是什么?如果它只不过是对“义和团”的引用,那么就我所见,这是额外的不必要的复杂性。但是,如果您在“展望”中看到“正确的每一个正确”旁边的真/假,则应该返回query.Where(x => x.Prospect!= null && x.Prospect。 IsProspect)'。 – Aaron 2010-06-09 12:25:18