DbContext threading
DbContext 应该被当成一次性、串行使用的工作单元,而不是可共享的并发容器。只要一段业务里存在并行执行,就要拆成多个 DbContext 实例,不要试图让同一个实例同时跑多个 EF Core 操作。
DbContext 应该被当成一次性、串行使用的工作单元,而不是可共享的并发容器。只要一段业务里存在并行执行,就要拆成多个 DbContext 实例,不要试图让同一个实例同时跑多个 EF Core 操作。
IDisposable 的价值不在于“手动管理内存”,而在于为垃圾回收器看不见的资源定义一个明确的释放边界;实际使用时,优先把释放动作交给 using。
LINQ 是否保持流式执行,关键不在查询写了几层,而在中间步骤有没有主动把序列物化成集合。只要你在自定义扩展或查询链里插入 .ToList() 这类操作,后续流程就会从“边枚举边产生结果”变成“先把上游全部拉进内存,再继续处理”。
https://learn.microsoft.com/en-us/dotnet/standard/linq/chain-queries-example
look forward to 里的 to 是介词,不是不定式符号,所以后面需要接名词性成分。想表达“期待去做某事”时,最自然的形式就是 look forward to doing。
索引不是“加上就会更快”的通用优化开关,它本质上是额外维护的一份有序数据结构:查询受益,写入和存储付费。
大多数产品的规模永远不会触及需要专用数据库的瓶颈,先从简单方案出发,等真正遇到功能需求时再升级。
UserControl:适合组合已有组件,在应用内部使用;
设置导航属性不意味着一定要使用 Include 的方式加载数据。
Step 1. Project Setup
是一种类型,表示方法签名(可指向一个或多个方法)。
你承接了从需求到具体代码实现之间的设计,你完全了解代码的结构,异常的边界,你指导 AI 去实现具体的代码编写,从而为自己节省时间和精力。
在 Windows 上意外递归创建了很深层的文件目录,占用倒是不大,但是直接删除删除不掉,文件管理器报错。
private static async void FireAndForgetMethod()
https://github.com/dotnet/wpf/blob/main/Documentation/developer-guide.md
从思路上来说 CancellationToken 是 .NET 提供的一种类型,这种类型的变量被用来从一个任务的外部终止任务。
从 DI 容器中获得实例的时候,需要泛型或者 Type 实例,如果直接通过类型或者 typeof 关键字获取,都会使得当前项目依赖于所需要导航到的视图所属的项目(同一个项目内是无所谓,但一旦开始模块化这就会造成耦合)。
用于 CommunityToolkit.Mvvm 的 partial property Code Snippet。
https://learn.microsoft.com/en-us/dotnet/desktop/wpf/events/object-lifetime-events
https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/operators/await
private const double doubleVal = 10.789738975897389458937485738947857349;
“People” 是 “person” 的复数形式,指一组人或一些人。“People” 是复数名词。
// Source - https://stackoverflow.com/a/57430389
官方的 demo 中使用的是控制台程序,并通过 Console.ReadKey 来避免程序结束。
状态(State):系统在某一时刻所处的稳定情形
TBD
依赖于 CommunityToolkit.Mvvm 的简单导航。
不借用字符串去定位 ContentControl;
1. 创建一个 Window
1. 在应用所需显示 snackbar 的位置放置一个 ContentControl 控件作为容器(在 WPF-UI 中,这个容器是 SnackbarPresenter);
为防止事物被破坏、损害或变质而保护、保留它原本的状态
一般都会从主分支拉自己的分支,然后进行修改。
及物动词
This is the first post of my new Astro blog.