学海无涯

导航

EF Core 操作数据库

查看EF Core 执行时生成的Sql语句

在DbContext上下文中添加以下代码,在程序操作数据库时,就能在控件台看到Sql语句。

 protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
           optionsBuilder.LogTo(Console.WriteLine);
        }

各类数据库提供程序NuGet包:

MsSql:Microsoft.EntityFrameworkCore.SqlServer、Microsoft.EntityFrameworkCore.Tools

MySql:MySql.EntityFrameworkCore(官方库)、Pomelo.EntityFrameworkCore.MySql(推荐,开源,更新速度快)

PostgreSQL:Npgsql.EntityFrameworkCore.PostgreSQL

使用 ToQueryString 获取生成的 SQL查询语句

string sql = _context.orders.Where(m => m.Address.Contains(address)).ToQueryString();

CreateDbCommand 方法创建和配置 一个 DbCommand ,可以执行ADO.NET查询。

DbCommand cmd = _context.orders.CreateDbCommand();
            cmd.CommandText = "select Count(*) from [Order]";
            int count = 0;
            try
            {
                cmd.Connection.Open();
                count =Convert.ToInt32(await cmd.ExecuteScalarAsync());
            }
            catch (Exception ex)
            {

            }
            finally
            {
                cmd.Connection?.Close();
            }

  

posted on 2022-09-29 08:46  宁静致远.  阅读(51)  评论(0编辑  收藏  举报