C#新语法以及通过代码查看EFCore的SQL语句

一.通过代码查看EFCore的SQL语句

方法一.标准日志

得下载安装包Install-Package Microsoft.Extensions.Logging.Console

public static readonly ILoggerFactory MyLoggerFactory = LoggerFactory.Create(builder=>{

builder.AddConsole();});

 

optionsBuilder.UseLoggerFactory(loggerFactory);

 

方法二.简单日志

optionsBuilder.LogTo(msg =>

{
      if(!msg.Contains("CommandExecuting")) return;

Console.WriteLine(msg);

});

 方法三.TOQUERYSTRING

1.上面两种方法无法直接得到一个操作的SQL语句,而且在操作很多的情况下,容易混乱。

2.EFCore的Where方法返回的是IQueryable类型。DbSet也实现IQueryable接口。IQueryable有扩展方法ToQueryString()可以获得SQL

3.不需要真的执行查询才获取SQL语句;只能获取查询操作的

二.C#新语法

 

4.将global修饰符添加到using前,这个命名空间就应用到整个项目,不用再每个类中都重复加using了。

5.可以再这个项目中单独创建一个类来放置global using 类名 

 6.

 

7.在实现了Idisposable/IAsyncDisposable接口的类型的变量声明前加上using,当代码执行离开变量的作用域时,对象会被释放。

8.namespace声明时不用加大括号了

 .

 

 9.可空类型

用if-else语句判断一下是否为空 

 

10.init函数

如果想要一个函数只能在构造函数初始化时赋值就能用init,(即使是同一个类中定义的方法去调用也会报错)

 

 11.C#新增了record类型的语法,编译器会为我们自动生成Equals、GetHashcode等方法

语法是:public record Person(string FirstName,string LastName)

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值