.net
7号南孚电池
QQ:826598080。欢迎技术交流
展开
-
EFCore状态跟踪流程
按我的理解流程如下context.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.TrackAll; 开启跟踪(默认就是开启的) context.Configuration.AutoDetectChangesEnabled = false/true; 开启是否自动计算修改 如果true每次Add,Update,Remove等都会进行一次DetectChanges,所以可以如下提高性能: context.Co..原创 2021-01-12 18:00:03 · 1025 阅读 · 0 评论 -
EFCore状态同步AutoDetectChangesEnabled
当批量添加修改数据时,EF同步到上下文这个阶段比较耗时。出现这个问题的原因是:每次调用Add、Update之前,EF都会调用DetectChanges。微软官方给出的介绍是:获取或设置一个值,该值指示是否通过 DbContext 和相关类的方法自动调用 DetectChanges() 方法。 默认值为 true。当查询数据时EF上下文便捕获了数据的快照,当调用DetectChanges方法时,会扫描上下中所有实体并将当前值和快照中的值进行比较,然后作出相关的行为。但是基于上述应意识到它..原创 2021-01-12 17:57:28 · 853 阅读 · 1 评论 -
EFCore官方推荐扩展
0.汇总https://docs.microsoft.com/zh-cn/ef/core/extensions/1.批量操作删除/更新https://github.com/borisdj/EFCore.BulkExtensions2.UnitOfWorkhttps://github.com/Arch/UnitOfWork/原创 2021-01-12 17:56:02 · 801 阅读 · 0 评论 -
EFCore迁移命令
DbFirst: Microsoft.EntityFrameworkCoreMicrosoft.EntityFrameworkCore.DesignMicrosoft.EntityFrameworkCore.SqlServerMicrosoft.EntityFrameworkCore.SqlServer.DesignMicrosoft.EntityFrameworkCore.Tools 生成:Scaffold-DbContext -Connection "Server=.;Database=原创 2021-01-12 16:38:46 · 594 阅读 · 0 评论 -
UseAuthentication和UseAuthorization
Authentication跟Authorization的区别这两个单词长的十分相似,而且还经常一起出现,很多时候容易搞混了Authentication(认证)明确是你谁,确认是不是合法用户。常用的认证方式有用户名密码认证。Authorization(授权)明确你是否有某个权限。当用户需要使用某个功能的时候,系统需要校验用户是否需要这个功能的权限。所以这两个单词是不同的概念,不同层次的东西。UseAuthorization在asp.net core 2.0中是没有的。在3.0之后微软原创 2020-09-25 15:46:54 · 7373 阅读 · 0 评论 -
.net 性能优化工具汇总
性能探查器VSDebug调试器VS性能探查器dotTrace(Release运行)性能测试Benchmark组件(Release运行)原创 2020-09-17 14:46:46 · 176 阅读 · 0 评论 -
asp.net Core Mvc Cookie认证
1.定义授权方案public const string AuthScheme_Token = "Token";2.注册服务 //默认授权方案,如果未设置,再授权时 [Authorize(AuthenticationSchemes=AuthScheme_Token)]指定AuthenticationSchemes services.AddAuthentication(AuthScheme_Token) //添加Token的Cookie的认证方式 .AddCookie(AuthSc原创 2020-07-17 17:13:15 · 297 阅读 · 0 评论 -
Task.Result卡死问题
在如下代码中:public async Task<string> GetData(){ return await DoWork();}在UI线程中调用var data = GetData().Result;此时线程会卡死;两种解决办法:1,所有调用方法链中使用async、await方式调用。var data = await GetData().2, 去掉调用链中的async,await,直接返回Task类型。public Task<s转载 2020-06-23 17:34:49 · 3620 阅读 · 0 评论 -
AddMvcCore,AddControllers,AddControllersWithViews,AddRazorPages的区别
services.AddMvcCore()只註冊運行 Controller/Razor Pages 必要的核心服務,確保 Pipeline 程序可動作,其餘如像 Data Annotation Model Validation、身分驗證等服務要自己加掛,除有特殊客製需求,一般不太常用。services.AddControllers()包含 AddMvcCore() 所做的動作外,再加上:身分驗證服務 Swagger/Open API 等 API 文件動態產生功能 Data Annot.原创 2020-06-13 13:46:54 · 5342 阅读 · 0 评论 -
.net使用Redis,遇到的问题及解决
目前项目的热数据一直使用.net本身的cache类,但是随着业务增加,现在对ecs进行了负载均衡。负载均衡后cache的弊端开始暴露,因为cache本身依赖应用池,多个节点间维护各自的应用池,负载均衡后各个节点可能造成热数据不统一,并且应用池回收后cache自动被回收的问题。所以开始使用成Redis。1.官方下载Redishttps://github.com/MSOpenTech/re...原创 2018-10-08 09:21:01 · 2750 阅读 · 0 评论