您的位置:首页 > 大数据 > 人工智能

Linq中用Contain时,传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确。此 RPC 请求中提供了过多的参数。最多应为2100

2011-10-24 11:57 302 查看
 

 
最近在用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();
 List<string> cfh = (from c in db.
                                where cfhs.Contains(c.CFBH)
                                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);
可如上写就又出现了另一个错误“未将对象引用设置到对象的实例。”
别人的都可以,我的却不行,又看了看他们给出的代码,发现没有带条件,又改成

var cfhs = (from b in db.YZ
                   select b.CFH);
运行后,没有报错!(可我要查找的条件只能在后面筛选了……)
 
总算问题解决了,可不太明白,为什么不能加条件筛选?如有高手,可以为我指点下。
 
解决问题参考的相关链接(在此谢过):
http://www.cnblogs.com/nuaalfm/archive/2008/08/10/1264796.html
http://topic.csdn.net/u/20101102/16/7df54ff4-376e-4219-adac-ea27e5d25fb0.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linq winform 2010 c
相关文章推荐