最近在用winform做程序时,出现了如下错误:
Q:原码如下:
List<string> cfhs = (from b in db.YZ
&& b.SFYP == true
&& b.FYSJ.Value.Date >= start
&& b.FYSJ.Value.Date <= end
select b.CFH).ToList();
&& b.FYSJ.Value.Date >= start
&& b.FYSJ.Value.Date <= end
select b.CFH).ToList();
List<string> cfh = (from c in db.
where
cfhs.Contains(c.CFBH)
select c.CFBH).ToList();
select c.CFBH).ToList();
自己也不太明白到底是怎么回事,就在网上找了下,找到了个方法:
A:把存入类型List<string> 换成个 IQueryable ,就可以,我试试了,
var cfhs = (from b in db.YZ
&& b.SFYP == true
&& b.FYSJ.Value.Date >= start
&& b.FYSJ.Value.Date <= end
select b.CFH);
&& b.FYSJ.Value.Date >= start
&& b.FYSJ.Value.Date <= end
select b.CFH);
可如上写就又出现了另一个错误“未将对象引用设置到对象的实例。”
别人的都可以,我的却不行,又看了看他们给出的代码,发现没有带条件,又改成
var cfhs = (from b in db.YZ
select b.CFH);
运行后,没有报错!(可我要查找的条件只能在后面筛选了……)
总算问题解决了,可不太明白,为什么不能加条件筛选?如有高手,可以为我指点下。
解决问题参考的相关链接(在此谢过):