【发布时间】:2022-01-03 04:25:24
【问题描述】:
我已经通过 SQL Server Profiler 检查了 EF Core 6,从性能的角度来看,这令人震惊。
这里没有什么很好的介绍:
var user = App.Ctx.LoginUsers;
这段代码没有配置,也很好:
user = App.Ctx.LoginUsers;
这里,分析的代码也不错:
var users = App.Ctx.LoginUsers.ToList();
但是使用此代码,在分析时非常糟糕,因为它已经在上面的上下文内存中:
users = App.Ctx.LoginUsers.ToList();
如果每个查询都从 SQL Server 进行四舍五入,即使它在上下文内存中,那么性能将会是灾难吗?
但我们预计仅针对已更改的差异数据往返 SQL 服务器
-
插入以添加到 dbcontext 内存中
-
仅修改为在 dbcontext 内存中更新
-
只有从 dbcontext 内存中删除才能删除
并从 dbcontext 内存中提供任何询问数据。
通过这种方式,我们认为性能会大幅提升。
【问题讨论】:
标签: sql-server entity-framework-core linq-to-sql c#-6.0 sql-server-profiler