linq

SqlSugar+SqlServer+NetCore3.1 入门案例

↘锁芯ラ 提交于 2020-10-22 08:34:27
十年河东,十年河西,莫欺少年穷 学无止境,精益求精 开发过.NetCore 的都知道,微软的EF框架EFCore对DataTable并不是特别友好,在整个EFCore框架中,直接写SQL语句似乎不太行,因此,在我们的项目中就有必要对数据库操作进行扩展。 自上篇博客 netCore 引用第三方ORM中间件-Dapper 后,我在项目架构时将Dapper引入到数据库操作层,使用后,我发现Dapper对 IQueryable 的支持几乎没有,【也可能有,但是我没发现】,这对于追求性能的开发人员来说难以接受,因此,今天引入sqlSugar。 Dapper的查询方法: 由上图可知,Dapper 支持IEnumerable ,IEnumerable 和 IQueryable 的区别是前者将数据全部加载到内存,后者是将需要的数据加载到内存。因此,IE比较浪费内存,IQ相对而言是按需开辟内存,因此,我选择IQ,虽说IQ在某些性能方面比不上IE,但现在的系统,大多都是数据量庞大的。 现在进入正题,sqlSugar的搭建。 俗话说:工欲善其事必先利其器,因此,在项目搭建之前,我们需要准备一个小的数据库。 简单的数据库,只有两张表, 1、打开VS,新建一个netCore3.1的控制台程序,并新增两个类库,如下: 2、SugarEntity为实体层,实体层代码有项目或工具生成,当然,也可以手写。注

【故障公告】阿里云 RDS 数据库突发 CPU 近 100% 引发全站故障

僤鯓⒐⒋嵵緔 提交于 2020-10-21 21:46:07
今天晚上9点我们收到阿里云的告警通知: 【阿里云监控】华东1(杭州)-云数据库RDS版<cnblogsdb> [instanceId=xxx] 于21:00 发生告警, 前往诊断 CPU使用率平均值(98.25>=80 ), 持续时间4分钟, rds_CpuUsage 收到通知后,我们立即登录阿里云 RDS 控制台进行主备库切换,等主备库完成切换后一看并没有切换过来,赶紧再次进行切换,第2次切换成功了,切换完成后 CPU 立刻降至正常水平,全站恢复正常。 这次故障发生时间是8月20日20:55~21:14,由此给您带来麻烦,请您谅解。 上次发生同样故障是6月24日,详见 【故障公告】阿里云 RDS 实例 CPU 100% 故障引发全站无法正常访问 。 阿里云数据库专家分析后怀疑是“LINQ 生成的 SQL 存在问题,导致概率性 SQL Server 出现参数嗅探问题”。 我们会进一步分析并优化这次引发参数嗅探问题的 SQL 语句。 来源: oschina 链接: https://my.oschina.net/u/4391345/blog/4520435