.NET Core MySQL EntityFrameworkCore EF生成SQL语句 打印SQL语句

Creating a Database with Code First in EF Core

管理 NuGet 程序包(N)...
MySql.EntityFrameworkCore
MySql.Data.EntityFrameworkCore
Microsoft.Extensions.Logging.Console   日志窗口

1、实体类

[Table("book")]
public class BookDo : DoBase
{
  [Key]
  [Column("id")]
  public int id { get; set; }

  [Column("title")]
  public string title { get; set; }

  [Column("author")]
  public string author { get; set; }

  [Column("language")]
  public string language { get; set; }
}

2、数据库上下文、日志打印 SQL 语句

using Entity;
using Microsoft.EntityFrameworkCore;

namespace Repository
{
  public class MySqlDbContext : DbContext
  {
    public virtual DbSet<BookDo> Book { get; set; }

    public MySqlDbContext(DbContextOptions<MySqlDbContext> options)
      : base(options)
    { }

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        //optionsBuilder.UseMySQL("server=localhost;database=TestDB;user=root;password=1q2w3E*");

        #region 打印SQL语句
        // NuGet 程序包:Microsoft.Extensions.Logging.Console
        optionsBuilder.UseLoggerFactory(LoggerFactory.Create(builder =>
        {
            builder.AddConsole();
        }));
        #endregion
    }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
      base.OnModelCreating(modelBuilder);
    }
  }
}

2、appsettings.json

"ConnectionStrings": {
  "MySqlConnection": "Data Source=localhost;port=3306;Initial Catalog=dbTest;user id=root;password=123456;CharSet=utf8;"
},

4、Startup.cs

public void ConfigureServices(IServiceCollection services)
{
  services.AddDbContext<MySqlDbContext>(options =>
    options.UseMySQL(Configuration.GetConnectionString("MySqlConnection")));
}

5、生成sql语句

*

*
*
*

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值