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语句
*
*
*
*