- 博客(31)
- 资源 (1)
- 收藏
- 关注
原创 ASP.NET Core Web API 参数传递方式
在ASP.NET Core Web API中,参数传递方式多样且灵活,合理选择传递方式对API设计和性能优化至关重要。场景:处理特殊格式的输入(如自定义日期格式实现:继承接口。示例// 解析自定义日期格式...[HttpGet"events"typeof// 使用自定义日期绑定逻辑通过合理选择参数传递方式,结合验证和安全性措施,可以构建高效、安全且易维护的Web API。
2025-04-05 22:04:27
725
原创 ASP.NET Core Web API 中 HTTP状态码的分类及对应的返回方法
在ASP.NET Core Web API中,HTTP状态码用于表示请求的处理结果。示例// 继承ActionResult自定义返回context.HttpContext.Response.WriteAsync("自定义状态码");// 使用自定义结果[HttpGet"custom"通过适配的方法,可以清晰、规范地在中返回各类HTTP状态码,满足的设计要求。
2025-04-04 20:28:08
1102
原创 RESTful
是一种基于HTTP协议的软件架构风格,用于设计网络应用的接口(API它的核心思想是通过资源(Resource)的表()来实现客户端与服务器之间的状态交互。通过合理选择参数传递方式并遵循上述实践,可以构建出高效、安全且符合RESTful规范的。
2025-04-04 19:33:51
732
原创 .NET新语法
在 ASP.NET Core 开发中,随着 C# 语言的持续更新和 .NET 平台的迭代,开发者可以利用许多新语法特性来简化代码、提高可读性和开发效率。通过合理运用这些新语法,可以显著提升 ASP.NET Core 项目的开发效率和代码质量。建议结合项目需求选择合适特性,并注意版本兼容性(如 .NET 6+ 支持 C# 10/11)。
2025-04-03 15:28:17
954
原创 EF Core表达式树
在 Entity Framework Core 中,表达式树(Expression Tree) 是 LINQ 查询的核心机制,它允许将 C# 代码中的查询逻辑转换为 SQL 语句,从而在数据库服务器端高效执行。通过灵活使用表达式树,可以极大增强 EF Core 查询的灵活性,同时保持高效的服务器端执行。
2025-03-30 22:07:04
908
原创 EF Core 乐观并发控制(并发令牌)
Entity Framework (EF) Core 默认支持 乐观并发控制(Optimistic Concurrency Control),它通过检测数据冲突(而不是显式加锁)来保证数据一致性。EF Core的乐观并发通过版本号或字段值检测冲突,无需显式加锁,适合低竞争场景。通过或配置并发令牌,并在冲突时通过实现灵活的数据合并或重试逻辑。
2025-03-28 22:18:41
725
原创 EF Core悲观并发控制
默认主要支持 乐观并发控制(通过并发令牌或 RowVersion),而悲观并发控制需要开发者手动实现(通常借助数据库事务和锁机制EF Core实现悲观并发需通过数据库锁和事务手动控制。虽然灵活,但需谨慎处理锁的范围和事务生命周期,避免性能问题。如果业务允许,优先考虑乐观并发(如特性或RowVersion。
2025-03-28 17:53:24
974
原创 EF Core全局查询筛选器
Entity Framework Core 的 全局查询筛选器(Global Query Filters) 允许在模型配置时为实体定义自动应用到所有查询的过滤条件,常用于实现多租户隔离、**逻辑删除(软删除)**等场景。配置灵活:通过实现统一数据过滤逻辑。谨慎使用:确保筛选器条件可转换为SQL,避免性能问题。动态禁用:通过临时绕过筛选。
2025-03-28 11:24:05
909
原创 EF Core 批量新增、修改、删除
在 Entity Framework Core (EF Core) 中高效执行批量新增、修改和删除操作,需结合原生功能与优化策略。EF Core 7+:优先使用。旧版本:结合与分批提交,或使用扩展库。超大数据量:选择第三方库(如 EF Core.BulkExtensions)或原生 SQL。
2025-03-27 18:55:59
845
原创 EF Core 实体数据监测机制
Entity Framework Core (EF Core) 通过以下机制检测实体数据的变化,确保在调用 SaveChanges 时能够准确同步到数据库EF Core通过快照跟踪和的协作,自动检测实体变化,并生成高效的数据库操作。开发者可通过显式状态控制、无跟踪查询和并发配置,灵活平衡功能与性能。理解这些机制有助于优化数据操作,避免常见陷阱(如意外更新全字段或并发冲突)。DbContext会根据跟踪的实体状态,在时,根据实体状态不同,生成等SQL语句,把内存总的实体的变化更新到数据库中。
2025-03-27 16:42:43
1186
原创 EF Core 执行原生SQL语句
为什么要写原生SQL语句?尽管EF Core已经非常强大,但是任然存在着无法被写成标准EF Core调用方法的SQL语句,少数情况下任然需要写原生SQL。存在问题:可能无法跨数据库操作。EF Core 的原生 SQL 方法适用于特定场景,但需谨慎使用以确保安全性和可维护性。优先考虑 LINQ,复杂场景再选择原生 SQL。
2025-03-26 22:11:37
445
原创 EF Core 异步方法
在 Entity Framework Core 中,异步方法是优化数据库操作性能、避免阻塞线程的关键工具,特别适用于 Web 应用、API 或其他高并发场景。减少线程阻塞提高服务器吞吐量优化资源利用率。
2025-03-26 00:57:10
790
原创 IQueryable 加载数据的方式(一次性加载到内存/分批加载)
在 .NET 中,IQueryable 是一种支持 延迟执行 的接口,常用于 LINQ 查询。它允许将查询逻辑转换为底层数据源(如数据库)的原生查询语言(如 SQL),从而优化性能。IQueryable的核心优势是 将查询逻辑推送到数据源执行,而非在内存中处理。合理使用可以显著提升性能,尤其是在处理数据库时。需要结合具体场景选择加载方式,并注意避免常见陷阱。
2025-03-25 17:58:11
1025
原创 EF Core 分页查询
优先选择键集分页:处理超大数据(如日志、流水记录)。常规分页:使用 Skip/Take 并确保排序和 IQueryable 优化。方案适用场景优点缺点OFFSET 分页需要随机跳页、中小型数据集实现简单,支持任意页码跳转大数据量时性能下降键集分页超大数据集、连续分页(如无限滚动)性能稳定,无需计算总数无法跳转任意页,需维护排序键。
2025-03-25 16:28:30
934
原创 IEnumerable和IQueryable
在内存中延迟执行,适用于本地集合操作。所有操作最终在本地逐行处理,可能影响性能。IQueryable 的延迟查询在远程数据源中延迟执行,生成高效查询(如 SQL)。仅返回最终结果,减少数据传输和计算开销。特性IQueryable执行位置内存远程数据源(如数据库)底层机制委托(Func)表达式树(Expression)适用场景内存集合、简单操作数据库查询、复杂动态查询性能小数据量高效,大数据量有风险大数据量优化,减少数据传输扩展方法类EnumerableQueryable延迟执行支持支持。
2025-03-24 21:30:25
855
原创 EF Core基于关系的查询
2、查询订单,快递公司包含字段“顺丰”1、查询评论中带有“科技”的文章。②写法二:从评论表投影出文章。①写法一:直接从文章获取。
2025-03-23 17:15:14
199
原创 EF Core对应不同数据库的差异
2、Install-Package Pomelo.EntityFrameworkCore.MySql (注意对应版本,可在Nuget搜索擦看)。迁移脚本不能跨数据库。通过给Add-migration命令添加“”参数的形式在同一个项目中为不同的数据库生成不同的迁移脚本。
2025-03-19 21:54:23
296
原创 EF Core一对多关系
1、所谓“关系数据库”2、数据库表之间的关系:一对一、一对多、多对多3、EF Core不仅支持单实体操作,更支持多实体的关系操作。4、三部曲:—— 实体类中关系属性;——FluentAPI关系配置;——使用关系操作。
2025-03-19 18:35:11
262
原创 通过代码查看EF Core生成的SQL语句
1、声明loggerFactory2、在MyDBContext的OnConfiguring方法中添加代码:optionsBuilder.UseLoggerFactory(loggerFactory);方法二:简单日志1、在MyDBContext的OnConfiguring方法中添加代码:optionsBuilder.LogTo(msg =>{if (!msg.Contains(“CommandExecuting”))return;Console.WriteLine(msg);});方法三
2025-03-17 15:14:19
229
原创 EF Core底层如何操作数据库(原理)
1、ADO.Net Core交互原理:2、利用SQL Server Profiler查看SQL Server数据库当前执行的SQL语句。
2025-03-17 13:11:18
177
原创 EF Core 反向工程
3、如果生成之后,数据库又有新的更新,我们要重新生成,则需要使用 -Force。2、数据库变动后,重新运行反向工程工具,之前对文件所做的所有修改都会丢失。1、生成的实体类可能不能满足项目的要求,需要手动修改或者增加配置。
2025-03-17 11:00:41
111
原创 VS2019离线安装包下载方法
1、微软官网 https://docs.microsoft.com/en-us/visualstudio/install/create-an-offline-installation-of-visual-studio?view=vs-20192、Visual Studio Community 版本(社区版)就下载 vs_community.exe3、新建一个路径,如:H:\Visual Studio Community 2019,存放vs_community.exe文件4、打开cmd,进入到vs_co
2021-10-28 00:10:29
5350
原创 腾讯企业邮箱发送邮件异常(501):ÇëµÇ¼exmail.qq.comÐÞ¸ÄÃÜÂë
腾讯企业邮箱发送邮件异常(501):ÇëµÇ¼exmail.qq.comÐÞ¸ÄÃÜÂë解决方法:使用者创建的账号,系统会自动分配一个密码,不可直接使用这个密码,否则会出现上述异常,我们要用分配的账号, 通过http://exmail.qq.com/login 这个地址登录,此时会提示更换密码,按照提示更换密码,然后使用新密码就可以正常发送邮件。...
2020-05-18 16:35:43
11612
原创 IDEA快捷键
IDEA快捷键快捷键删除并剪贴行:Ctrl+X复制一行:Ctrl+D代码格式整理:Ctrl+Alt+L管理导入的类:Ctrl+Alt+O修复建议:Alt+Enter自动补全剩余代码:Ctrl+Shift+Enter查看一个方法的参数Ctrl+P代码包裹:选中代码后Ctrl+Alt+T移除包裹:Ctrl+Shift+Delete模板代码:Ctrl+J快速查看类结构:Ctrl+...
2019-04-24 11:22:22
3750
原创 JDK配置
JDK 配置 (Windows)**1、下载并安装 oraclejdk(http://www.oracle.com/technetwork/java/javase/overview/index.html),安装路径不要出现空格2、添加环境变量2.1、JAVA_HOME:安装目录2.2、PATH:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;2.3、CLASS...
2019-04-24 11:19:16
4087
原创 IntelliJ IDEA 2018.3.3 安装(Windows)
IntelliJ IDEA 2018.3.3 安装(Windows)**1、下载并安装(https://www.jetbrains.com/idea/download/#section=windows)安装过程,如果只是 Java 开发,按照以下选择。2、进入安装目录,将破解补丁放到 bin 目录下。(2019.1.14:https://pan.baidu.com/s/18ovphd7s...
2019-04-24 11:19:03
2198
原创 IntelliJ IDEA 2018.3.3 配置(Windows)
IntelliJ IDEA 2018.3.3 配置(Windows)**Settings主题更换:http://www.themesmap.com/取消自动更新Settings->Appearance & Behavior->System Settings->Updates 下取消 Automatically check updates for 勾选解决插件...
2019-04-24 11:18:33
852
逆向工程.rar
2019-09-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人