摘要:
dynamic-linq.net,这个库大家都用过,简单说就是使用字符串编写查询表达式的,非常强大,因为字符串是可以运行时拼接的,所以就可以在运行时动态的构造查询,非常适合框架开发和需要灵活性的场景。 我用它解决了在原生代码非常困难且耗时(需要动态构造表达式)的功能,真正的直达痛点。 它dotnet 阅读全文
posted @ 2024-11-22 21:56
Rick Carter
阅读(708)
评论(0)
推荐(0)
摘要:
最近又遇到个奇怪的问题,查询出来的时间比数据库中字段存的时间多8小时。 发现是用了efcore的二级缓存,本来用json序列化的,后来为了性能改成MessagePack,最后定位就是MessagePack序列化/反序列化时不保留 DateTime.Kind,导致从redis里拿到的数据中时间值+8小 阅读全文
posted @ 2024-11-22 16:17
Rick Carter
阅读(96)
评论(0)
推荐(0)
摘要:
这里简单介绍下几种修改实体或者导航的跟踪状态。 1. 直接修改实体 对已在DbContext中跟踪的实体,直接操作,如给字段赋值、给导航属性赋值或者添加删除等 对未在DbContext中跟踪的实体,调用DbContext的Add、Update、Remove等方法,对已跟踪的实体也有效 需要注意所有添 阅读全文
posted @ 2024-11-20 15:52
Rick Carter
阅读(151)
评论(0)
推荐(0)
摘要:
dotnet程序中使用NPOI,升级到2.7后,XSSFWorkbook.Write多了一个可选参数leaveOpen=false,默认是false,这个方法执行完成后,流会关闭,导致后续代码报错。 特别是从旧的版本升级上来的,就很被忽略这个问题,因为生成不报错,运行才报错,因此这个leaveOpe 阅读全文
posted @ 2024-11-16 11:07
Rick Carter
阅读(258)
评论(0)
推荐(0)
摘要:
很长时间以来我都在公司dotnet开发的软件上做各种性能优化,包括各种崩溃、线程池资源不足、死锁、以及很多性能慢的代码问题等,类似这种cpu相关问题都比较好查出来。 这个过程中经常遇到内存占用过高的问题,也是各种办法都试用了一遍,包括DOTNET GC相关的各种配置,还给docker加内存限制,但是 阅读全文
posted @ 2024-11-08 16:53
Rick Carter
阅读(329)
评论(0)
推荐(0)
浙公网安备 33010602011771号