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

 

 
最近在用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);
运行后,没有报错!(可我要查找的条件只能在后面筛选了……)
 
总算问题解决了,可不太明白,为什么不能加条件筛选?如有高手,可以为我指点下。
 
解决问题参考的相关链接(在此谢过):
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值