<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[cplmlm的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/cplmlm</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; cplmlm]]></copyright><item><title><![CDATA[EF Core使用CodeFirst生成postgresql数据库表名以及字段名用蛇形命名法，而类名仍使用驼峰命名]]></title><link>https://blog.youkuaiyun.com/cplmlm/article/details/156727197</link><guid>https://blog.youkuaiyun.com/cplmlm/article/details/156727197</guid><author>cplmlm</author><pubDate>Thu, 08 Jan 2026 16:04:47 +0800</pubDate><description><![CDATA[在NuGet包管理工具安装“EFCore.NamingConventions”，然后在Program.cs类的连接数据库的位置加上UseSnakeCaseNamingConvention方法。]]></description><category></category></item><item><title><![CDATA[WPF+IOC学习记录]]></title><link>https://blog.youkuaiyun.com/cplmlm/article/details/150989853</link><guid>https://blog.youkuaiyun.com/cplmlm/article/details/150989853</guid><author>cplmlm</author><pubDate>Fri, 29 Aug 2025 16:36:39 +0800</pubDate><description><![CDATA[最近在学WPF，上一篇文章记录了WPF的MVVM自己实现和用框架的区别（），接下这篇文章记录一下在WPF中使用IOC，这里演示用的是微软官方的DependencyInjection，也可以用其他的第三方框架。]]></description><category></category></item><item><title><![CDATA[WPF+MVVM入门学习]]></title><link>https://blog.youkuaiyun.com/cplmlm/article/details/150758361</link><guid>https://blog.youkuaiyun.com/cplmlm/article/details/150758361</guid><author>cplmlm</author><pubDate>Mon, 25 Aug 2025 08:49:21 +0800</pubDate><description><![CDATA[以上就是三种不同ViewModel的实现方式，个人比较推荐使用社区的CommunityToolkit，但是还是要根据自己的项目情况来决定。]]></description><category></category></item><item><title><![CDATA[WPF+MVVM+IOC实现的医院自助打印主界面]]></title><link>https://blog.youkuaiyun.com/cplmlm/article/details/150587021</link><guid>https://blog.youkuaiyun.com/cplmlm/article/details/150587021</guid><author>cplmlm</author><pubDate>Thu, 21 Aug 2025 17:00:26 +0800</pubDate><description><![CDATA[最近在学习WPF的MVVM模式开发，就做了一个医院自助报告打印的主界面，为了练习，这里用了三种不同的方式来实现MVVM（自己实现、CommunityToolkit、Prism），还使用了IOC和依赖注入。]]></description><category></category></item><item><title><![CDATA[SqlBulkCopy实现十万级数据高效插入sql server数据库]]></title><link>https://blog.youkuaiyun.com/cplmlm/article/details/150262368</link><guid>https://blog.youkuaiyun.com/cplmlm/article/details/150262368</guid><author>cplmlm</author><pubDate>Tue, 12 Aug 2025 09:11:08 +0800</pubDate><description><![CDATA[最近遇到10万条数据批量插入数据库耗时过长的问题，最开始用的foreach单条插入耗时约30分钟，经优化改用SqlBulkCopy批量操作，性能提升至仅需19秒完成，以下是优化后的代码。]]></description><category></category></item><item><title><![CDATA[ef core给字段增加校验，比如字符长度限制、验证是否邮箱？]]></title><link>https://blog.youkuaiyun.com/cplmlm/article/details/146547067</link><guid>https://blog.youkuaiyun.com/cplmlm/article/details/146547067</guid><author>cplmlm</author><pubDate>Thu, 27 Mar 2025 23:00:35 +0800</pubDate><description><![CDATA[【代码】ef core给字段增加校验，比如字符长度限制、验证是否邮箱？]]></description><category></category></item><item><title><![CDATA[.net core项目部署docker，测试接口报错curl: (56) Recv failure: Connection reset by peer]]></title><link>https://blog.youkuaiyun.com/cplmlm/article/details/146182998</link><guid>https://blog.youkuaiyun.com/cplmlm/article/details/146182998</guid><author>cplmlm</author><pubDate>Tue, 11 Mar 2025 16:40:08 +0800</pubDate><description><![CDATA[最近在学习Net Core项目部署到Linux Docker，发现docker run 以后怎么也访问不了，找了半天最后发现是因为我在程序里面设置了默认启动端口号，docker run的话就要一致，默认的话可以直接用80。后面docker run改成默认的端口号，就可以正常运行了。]]></description><category></category></item><item><title><![CDATA[vs 2022运行framework 项目直接报500，vs 2019可以正常运行]]></title><link>https://blog.youkuaiyun.com/cplmlm/article/details/146177931</link><guid>https://blog.youkuaiyun.com/cplmlm/article/details/146177931</guid><author>cplmlm</author><pubDate>Tue, 11 Mar 2025 14:16:54 +0800</pubDate><description><![CDATA[之前也遇到过vs 2022打开framework的项目运行不了的问题，后面发现安装了vs 2019就可以在vs 2022正常运行了,这个也按照这样的方式来处理的，后面发现解决不了，然后去技术群里面问了下，说是IIS Express在vs 2022是以64位运行的，而在vs 2019是以32位运行的，后面通过工具->选项->项目和解决方案->web项目，取消了“对网站和项目使用 IIS Express 的 64 位版”的勾选，就可以正常运行了。]]></description><category></category></item><item><title><![CDATA[.Net Core 8 NLog连接PostgreSQL数据库]]></title><link>https://blog.youkuaiyun.com/cplmlm/article/details/144800236</link><guid>https://blog.youkuaiyun.com/cplmlm/article/details/144800236</guid><author>cplmlm</author><pubDate>Sun, 29 Dec 2024 09:58:00 +0800</pubDate><description><![CDATA[下面是NLog连接PostgreSQL数据库的步骤，网上关于NLog连接PostgreSQL数据库的实例比较少，大多数都是mysql的。/// 实例化nLog，即为获取配置文件相关信息(获取以当前正在初始化的类命名的记录器)1、创建Nlog.config配置文件，将下面配置文件内容复制进去，里面包含了存储数据库和本地。#region Debug，调试。#region Trace，追踪。#region Error，错误。#region Info，信息。#region Warn，警告。2、安装nuget包。]]></description><category></category></item><item><title><![CDATA[如何解决接口数据重复问题？]]></title><link>https://blog.youkuaiyun.com/cplmlm/article/details/141494386</link><guid>https://blog.youkuaiyun.com/cplmlm/article/details/141494386</guid><author>cplmlm</author><pubDate>Sat, 24 Aug 2024 10:05:16 +0800</pubDate><description><![CDATA[幂等指多次操作产生的影响只会跟一次执行的结果相同，通俗的说：某个行为重复的执行，最终获取的结果是相同的，不会因为重复执行对系统造成变化。用户进入表单获取token，请求的时候带入token，后端判断传入的token是否存在，存在就直接提示重复，不存在存入Redis或者其他存储介质，token会有过期时间，一般5分钟。这个字段是不能重复，比如用户表，用户名是不能重复，可以设置用户名为唯一索引。缺点：并发时候会判断到token是不存在的，还是可能造成重复提交的问题，需要加分布式锁解决。一锁：先加一个分布式锁。]]></description><category></category></item><item><title><![CDATA[c#优化装箱拆箱]]></title><link>https://blog.youkuaiyun.com/cplmlm/article/details/141292347</link><guid>https://blog.youkuaiyun.com/cplmlm/article/details/141292347</guid><author>cplmlm</author><pubDate>Sun, 18 Aug 2024 09:43:22 +0800</pubDate><description><![CDATA[类型的值被传递给一个引用类型的构造函数。而第二段代码中不会发生装箱，因为。存储的是对象的引用，当你存储值类型时，会发生装箱。作为类型参数，而不需要将其转换为引用类型。List是泛型的不会发生装箱，而。那样可能出现的类型不匹配问题。第一段代码中会发生装箱，因为。提供了类型安全，避免了像。在上述示例中，我们使用了。是一个泛型类，它直接使用。]]></description><category></category></item><item><title><![CDATA[.net 8项目通过Autofac获取程序集服务并注册]]></title><link>https://blog.youkuaiyun.com/cplmlm/article/details/140107583</link><guid>https://blog.youkuaiyun.com/cplmlm/article/details/140107583</guid><author>cplmlm</author><pubDate>Mon, 01 Jul 2024 18:30:36 +0800</pubDate><description><![CDATA[首先新建一个AutofacModuleRegister类并继承Autofac.Module。在program.cs中注册自定义的Autofac配置文件。]]></description><category></category></item><item><title><![CDATA[解决Dbeaver能正常连接到数据库，但是每次打开都弹出来驱动设置]]></title><link>https://blog.youkuaiyun.com/cplmlm/article/details/140082511</link><guid>https://blog.youkuaiyun.com/cplmlm/article/details/140082511</guid><author>cplmlm</author><pubDate>Sun, 30 Jun 2024 16:18:49 +0800</pubDate><description><![CDATA[最近使用pg数据库，用的DBeaver，能正常访问数据库，就是每次就都弹出来驱动设置，试了网上很多办法都没有解决，无意间通过把编辑驱动里面的库删除了，改成本地的驱动jar就解决了，原来下载以后这里有很多东西，我都删了。编辑驱动有两种进入方式，第一种是在弹出的驱动设置点击“编辑驱动”，第二个在菜单栏选择“数据库管理”-“驱动管理器”，选择pg数据库，点“编辑”。DBeaver下载驱动成功，也能正常连接到数据库，但是每次打开都弹出来驱动设置。]]></description><category></category></item><item><title><![CDATA[基于Canvas实现的产程图、体温单（成人、儿童）html]]></title><link>https://blog.youkuaiyun.com/cplmlm/article/details/139684448</link><guid>https://blog.youkuaiyun.com/cplmlm/article/details/139684448</guid><author>cplmlm</author><pubDate>Fri, 14 Jun 2024 16:16:49 +0800</pubDate><description><![CDATA[源码地址：https://github.com/cplmlm/htmlCanvas]]></description><category></category></item><item><title><![CDATA[C#、.Net优化多个 switch 语句实例]]></title><link>https://blog.youkuaiyun.com/cplmlm/article/details/139681585</link><guid>https://blog.youkuaiyun.com/cplmlm/article/details/139681585</guid><author>cplmlm</author><pubDate>Fri, 14 Jun 2024 14:50:30 +0800</pubDate><description><![CDATA[项目遇到一个特殊的情况，需要提供一个接口根据传入的值去调用不同的方法，所以导致产生了很多个switch，后面写完想着switch太多了，能不能优化一下，就丢给了chatgpt，下面是优化前和优化后的的代码。]]></description><category></category></item><item><title><![CDATA[Ant Design DatePicker按照官网配置了全局本地化还是显示英文解决思路]]></title><link>https://blog.youkuaiyun.com/cplmlm/article/details/139659925</link><guid>https://blog.youkuaiyun.com/cplmlm/article/details/139659925</guid><author>cplmlm</author><pubDate>Thu, 13 Jun 2024 17:21:02 +0800</pubDate><description><![CDATA[2、如果ant下面的package.json中的dependencies:{"moment":2.9.1}没有moment有dayjs的情况，就用dayjs实现本地化，dayjs版本也要和moment下面的dayjs版本一致。1、查看ant下面的package.json中的dependencies:{"moment":2.9.1}版本，moment的版本要和ant下面的moment一致。3、核心解决问题就是安装的moment或者dayj版本一致要和ant下面的moment或者dayjs版本一致。]]></description><category></category></item><item><title><![CDATA[Sql Server和PostgreSQL的数据库常用内置函数、数据类型的区别]]></title><link>https://blog.youkuaiyun.com/cplmlm/article/details/139650734</link><guid>https://blog.youkuaiyun.com/cplmlm/article/details/139650734</guid><author>cplmlm</author><pubDate>Thu, 13 Jun 2024 12:01:27 +0800</pubDate><description><![CDATA[返回具有指定空格数的字符串。8位无符号整数，0到255。从字符串中删除前导空格。判断是否包含某个字符。]]></description><category></category></item><item><title><![CDATA[C#、.Net通过HttpWebRequest请求WebService接口]]></title><link>https://blog.youkuaiyun.com/cplmlm/article/details/139605596</link><guid>https://blog.youkuaiyun.com/cplmlm/article/details/139605596</guid><author>cplmlm</author><pubDate>Tue, 11 Jun 2024 18:07:22 +0800</pubDate><description><![CDATA[请求接口地址]]></description><category></category></item><item><title><![CDATA[最近参加C#、.NET面试的一个总结]]></title><link>https://blog.youkuaiyun.com/cplmlm/article/details/138942370</link><guid>https://blog.youkuaiyun.com/cplmlm/article/details/138942370</guid><author>cplmlm</author><pubDate>Thu, 16 May 2024 08:49:54 +0800</pubDate><description><![CDATA[最近参加面试的一个总结多线程的理解
thread和task的区别
委托和事件的区别
IOC的概念以及优劣势
反射的基本概念以及优劣势
aop的概念以及使用场景
装箱拆箱的基本概念？如何优化装箱拆箱
DI依赖注入的生命周期概念以及使用场景
一个系统如果不能写入cookie，然后要通过其他怎么授权？
微信扫描登录是如何授权的
什么时候用task viod?
task有哪些返回值？
task 有await和没有await的区别
如何保证提交的数据不重复？幂等性是如何实现的？
如何设计淘宝的下单，只是下单的这一步
]]></description><category></category></item><item><title><![CDATA[使用.NET8 WPF的MVVM结构写的一个简单计算器]]></title><link>https://blog.youkuaiyun.com/cplmlm/article/details/138941522</link><guid>https://blog.youkuaiyun.com/cplmlm/article/details/138941522</guid><author>cplmlm</author><pubDate>Thu, 16 May 2024 08:22:58 +0800</pubDate><description><![CDATA[项目源码地址：https://github.com/cplmlm/CalculatorCore。界面如下，样式使用的HandOrg，完成了计算器的基础功能。]]></description><category></category></item></channel></rss>