LINQ的返回类型与查询报错问题

LINQ的返回类型与查询报错问题

开发工具与关键技术:VisualStudio .net MVC
作者:落白
撰写时间:2019/06/17

LINQ的方法体里执行了查询后有三种类型可以返回查询结果,分别为Count、Single、Tolist。

  1. Count是返回查询结果的总条数,常用于新增、修改时判断数据是否重复。
  2. Single只能返回单条数据,当查询的结果为单条问题时看似人畜无害,还颇为可爱。可一旦查询的结果为空或者查询的结果是两条以上时,这家伙就立马翻脸不认人了,果断给你报个错,把项目卡的动都不能动。
  3. Tolist是将查询出来的数据列表化,当有多条数据并且需要找到某条数据时只能通过查询结果[n].data的方式将数据找出来,Single只需通过查询结果.data便可找到数据。
    当不使用上面三种方式返回查询结果时,如果出现报错那就比较难看出错误,例如
    在这里插入图片描述
    不知道你们能不能看懂,反正这个报错在这里我是看不懂的。所以该换一种找bug的方法,使用try和catch,在catch里面使用声明参数输出来捕捉错误。
 try{ }
                   catch (Exception e)
                    {
                       Console.WriteLine(e);
        }

这样更容易发现错误,使用这个方法后上面那个报错就变成了下图的形式
在这里插入图片描述
在这里插入图片描述
将报错展开后初略地翻译了一下,这段话的大概意思是linq toentity识别不到的方法。B_city get_item(int32)方法,该方法不能被翻译成存储表达式,也就是表格以tolist的形式列出来,因为用到了get_item(int32)的方法。虽然我也不知道自己哪里使用了get_item(int32)这个方法。
既然是无法转化为表格的形式,那么我们就直接给它一个强制转化,让表格Tolist一下,后来这个问题就解决了。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值