当 IQueryable 返回无记录时 ToList() 抛出异常
dataContext.Geo_Countries.Where(c => c.Name.Contains(searchKey)).ToList<Geo_Country>();
当 IQueryable 没有返回任何记录时,我收到一个值 null 异常。
解决办法是什么?
dataContext.Geo_Countries.Where(c => c.Name.Contains(searchKey)).ToList<Geo_Country>();
when the IQueryable returns no records, I get a value null exception.
What is the solution?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我怀疑当没有匹配项时您不会遇到问题 - 我怀疑当数据库中有一行没有
Name
值时您会遇到问题。要么是这样,要么你正在做一些你没有向我们展示过的其他事情。堆栈跟踪是什么样的?I suspect you don't get the problem when there are no matches - I suspect you get it when there's a row in your database with no
Name
value. Either that, or you're doing something else which you haven't shown us. What does the stack trace look like?尝试使用此代码
try to use this code
如果代码未正确执行,在 IQueryable 上调用 ToList() 将引发异常。在下面的示例中,如果 c.Name 为 null,则 ToList() 将引发异常:
Calling ToList() on IQueryable will throw an exception if code doesn't properly execute. In the following example, ToList() will throw an exception if c.Name is null: