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(); }