EF Core Sequence contains no elements
一、在.Net Core中使用Ef的聚合函数报错:
类似函数:
1,使用FirstOrDefault() 来代替 First()
2、使用SingleOrDefault 来代替 Single
3、使用 ElementAtOrDefault 来代替 .ElementAt
4、如果是在Average, Sum等中报错
错误如下:
Sequence contains no elements
二、在.Net Core的 内存列表 Linq 聚合函数解决方案
var items = new int[] { 1, 2, 3, 4, 5 };
//Double avg = items.Average(); //替换:
//Double avg = items.Where(x => x > 10).Average(); //解决方案:使用 DefaultIfEmpty
// Double avg = items.Where(x => x > 10).DefaultIfEmpty().Average();
Double avg = items.Where(x => x > 10).DefaultIfEmpty().Max();
三、在 EF Core 数据库列表 的聚合函数解决方案
注意:在目前的 EF Core 3.1中 DefaultIfEmpty() 不起作用对于聚合函数,还是报错
处理方式1,可以使用排序的 FirstOrDefault() 处理
处理方式2,把数据库数据拿到内存中 聚合计算
//错误代码
//var num = GetQueryable()
// .Where(q => q.GooID == gooid && q.Type == type)
// .Select(q => q.Sort)
// .ToList()
// .DefaultIfEmpty()
// .Max(); //排序取得最大值
var num = GetQueryable()
.Where(q => q.GooID == gooid && q.Type == type)
.Select(q => q.Sort)
.OrderByDescending(q => q)
.FirstOrDefault();
更多:
EF Core Sequence contains no elements的更多相关文章
- 【ASP.NET Core】EF Core - “影子属性” 深入浅出经典面试题:从浏览器中输入URL到页面加载发生了什么 - Part 1
[ASP.NET Core]EF Core - “影子属性” 有朋友说老周近来博客更新较慢,确实有些慢,因为有些 bug 要研究,另外就是老周把部分内容转到直播上面,所以写博客的内容减少了一点. ...
- EF Core 数据库迁移(Migration)
工具与环境介绍 1.开发环境为vs 2015 2.mysql EF Core支持采用 Pomelo.EntityFrameworkCore.MySql 源代码地址(https://github. ...
- Asp.net Core 通过 Ef Core 访问、管理Mysql
本文地址:http://www.cnblogs.com/likeli/p/5910524.html 环境 dotnet Core版本:1.0.0-preview2-003131 本文分为Window环 ...
- EF Core 杂记
本系列文章,将介绍本人在学习和使用EF Core的过程中的收获与心得. 或许有的地方讲的错误 欢迎大家批评指出. 1.EF Core 数据库迁移(Migration)
- MySQL官方.NET Core驱动已出,支持EF Core
千呼万唤始出来MySQL官方.NET Core驱动已出,支持EF Core. 昨天MySQL官方已经发布了.NET Core 驱动,目前还是预览版,不过功能已经可用. NuGet 地址:https:/ ...
- EF Core 1.0 和 SQLServer 2008 分页的问题
EF Core 1.0 在sqlserver2008分页的时候需要指定用数字分页. EF Core1.0 生成的分页语句中使用了 Featch Next.这个语句只有在SqlServer2012的时候 ...
- EntityFramework Core技术线路(EF7已经更名为EF Core,并于2016年6月底发布)
官方文档英文地址:https://github.com/aspnet/EntityFramework/wiki/Roadmap 历经延期和更名,新版本的实体框架终于要和大家见面了,虽然还有点害羞.请大 ...
- EF Core CodeFirst实践 ( 使用MS SqlServer)
这里使用 MS SQLSERVER ,网上大多使用 SQLite 先来一个CodeFirst 新建项目 这里我们选择 ASP.NET Core Web Application (.NET Core) ...
- ASP.NET Core 开发-Entity Framework (EF) Core 1.0 Database First
ASP.NET Core 开发-Entity Framework Core 1.0 Database First,ASP.NET Core 1.0 EF Core操作数据库. Entity Frame ...
随机推荐
- 【springcloud】springcloud与springboot的版本对应关系
官方网址:https://start.spring.io/actuator/info 更新时间:2019-12-01 spring-cloud: "Finchley.M2": &q ...
- JS对象创建的几种方法
最近一直在看JS高级程序设计这本书,有空来梳理一下几种创建对象的方式.话不多说,直接步入正题. 第一种:Object构造函数创建 var Person = new Object(); Person.n ...
- linux安装mysql80
打开网址:https://dev.mysql.com/downloads/repo/yum/,选择对应li 安装mysql源 yum -y localinstall mysql80-community ...
- SpringSecurity入门
基础 spring security的底层就是一个过滤器链 ExceptionTranslationFilter是一个异常过滤器,用来处理认证授权过程中的异常 UseranmePasswordAuth ...
- 查询ES6兼容的网站
http://kangax.github.io/compat-table/es6/ 查询es6兼容的网站
- Python语法之函数、引用和装饰器
所谓函数,就是把具有独立功能的代码块组织成为一个小模块,在需要的时候调用 函数是带名字的代码块,用于完成具体的工作 需要在程序中多次执行同一项任务时,你无需反复编写完成该任务的代码,而只需调用该 任务 ...
- Walker
emmm.......随机化. 好吧,我们不熟. 考虑随机选取两组数据高斯消元消除结果后带入检验,能有超过1/2正确就输出. 其实方程就四个,手动解都没问题. 只是要注意看sin与 ...
- MongoDB 常见问题 - 解决找不到 mongo、mongod 命令的问题
问题背景 成功安装 MongoDB 后执行 Mongo.MongoD 显示找不到命令 解决方案 echo 'export PATH="/usr/local/opt/mongodb-commu ...
- 判断IE浏览器版本
//判断IE浏览器版本 function IEVersion() { var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串 var isI ...
- 硕盟SM-T54(TYPE C转HDMI+VGA+USB3.0+PD3.0)
硕盟SM-T54是一款TYPE C转HDMI+VGA+USB3.0+PD3.0四口扩展坞,您可以将含有USB 3.1协议的电脑主机,通过此产品连接到具有HDMI或VGA的显示器.电视机或其他显示设备. ...