自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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 一对一关系简单配置

3、创建MyDbContext。

2025-03-23 17:13:32 158

原创 EF Core 多对多简单配置

4、生成迁入脚本,并更新到数据库生成表结构。3、创建MyDbContext。5、插入数据、查询数据。

2025-03-23 17:10:07 181

原创 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

原创 EF Core Migration

EF Core Migration

2025-03-16 12:11:20 207

原创 正则表达式

正则解析地址:https://regex-vis.com。正则表达式速查:https://regexr.com。

2024-12-17 14:40:54 82

原创 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

自动生成map映射文件,model类等 (数据库驱动:选择你的本地硬盘上面的数据库驱动包;Model模型生成器,用来生成含有主键Key的类,记录类以及查询Example类 targetPackage 指定生成的model所在包名 targetProject 指定在该项目下所在的路径 生成模型的包名和位置;生成映射文件的包名和位置 为每一个数据库的表生成对应的sqlMap文件)

2019-09-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除