none
linq 两表查询后的Count()方法和实际查询出来数据条数不一致 RRS feed

  • 问题

  • 一直以为linq中的count()方法是否返回结果中的数据条数,就像和数组的length或List的Count一样,今天用了个两个表关联查询的linq,结果Count()返回了4,foreach遍历结果的时候只循环了一次,查看数据表数据,左表4条,右表一条满足关联,foreach是对的,但Count()为什么是4,应该是1才对啊,请高手来指导一二。

    2014年8月21日 15:33

全部回复

  • Hello,

    >>一直以为linq中的count()方法是否返回结果中的数据条数

    Count()函数应该是返回查询结果的数据条数。

    >>今天用了个两个表关联查询的linq,结果Count()返回了4foreach遍历结果的时候只循环了一次,查看数据表数据,左表4条,右表一条满足关联,foreach是对的,但Count()为什么是4,应该是1才对啊,请高手来指导一二。

    请问你可以提供给我们你的测试代码吗?

    你可以试下将Count() 换成ToList(),然后展开在debug的时候对返回的查询结果看看有几条数据库,或者如果你的数据是sqlsever的话你可以用sql profiler看产生的查询记录,在你的数据库里直接执行那段数据库数据看看再数据库里会有几条数据。

    Regards.


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2014年8月22日 2:53
    版主