07 2022 档案
摘要:C#新语法 NET6新特性以及C#新语法 1.顶级语句(C#9.0) (1):直接在C#文件中直接编写入口方法的代码,不用类,不用Main。经典写法仍然支持,反编译可以查看到,编译器依旧为我们生成了一个<Main>$与Main差不多的方法。实际是语法糖而已 (2):同一个项目中只能有一个文件具有顶级
阅读全文
摘要:EF Core 表达式树、结构、动态构造 EF Core 表达式树 1.表达式树(Expression Tree):树形数据结构表示代码以表示逻辑运算,以便可以在运行时访问逻辑运算的结构。 2.Expression <TDelegate>类型 3.从Lambda表达式来生成表达式树: Express
阅读全文
摘要:EF Core 悲观与乐观并发控制、并发令牌 EF Core 悲观并发控制(不推荐使用,EF Core也没有对其进行封装) 并发控制的概念 1.并发控制:避免多个用户同时操作资源造成的并发冲突问题。例如,统计点击量,秒杀,抢票 2.最好的解决方案:非数据库解决方案。 3.数据库层面的两种策略,悲观,
阅读全文
摘要:EF Core 优化、实体状态跟踪、批量操作、全局查询筛选器 EF Core 优化之AsNoTracking 当数据仅仅只是做查询不修改的情况下,尤其是数据量还不小的情况下,使用可以减少内存的消耗 var u2 = await ctx.Users.AsNoTracking().Take(3).ToL
阅读全文
摘要:EF Core 中的异步方法 1.SaveChanges(), SaveChangesAsync() 2.异步方法大部分是定义在Microsoft.EntityFrameworkCore这个命名空间下的EntityFrameworkCoreQueryableExtensions等类中的扩展方法,记得
阅读全文
摘要:EF Core 额外的外键字段和单向导航属性 EF CORE 额外的外键字段 using TestDbContext ctx = new TestDbContext(); //即使我只需要id和标题但是还是查询了所有的字段 浪费资源 var book = ctx.Books.First();//此行
阅读全文
摘要:中介者模式(Mediator pattern)解决的问题 优缺点:(着重需要了解学习Mass Transit Mediator) 1.概述:用一个中介对象(中介者)来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。中介者模式是“迪米特法则
阅读全文