上一篇文章写的是 在ASP.Net web项目如何连接MySQL数据库,当然也可以创建控制台项目来对MySQL数据库进行操作
第一步当然是创建控制台项目了
然后右击创建的项目点击”管理NuGet程序包“,下载下面三个包
注意注意:目前Pomelo.EntityFrameworkCore.MySql在NuGet搜索倒的是7.0.0的稳定版,我们需要下载 8.0.0版本的,NuGet中我没有搜索到8.0.0版,但可以在程序包管理器控制台输入
NuGet\Install-Package Pomelo.EntityFrameworkCore.MySql -Version 8.0.0-beta.2
或者是直接访问官网下载NuGet Gallery | Pomelo.EntityFrameworkCore.MySql 8.0.0-beta.2
三个包所支持的版本要对应,否则后续无法连接到数据库,下载完这些要尽量看一下这些包的依赖项,与自己的版本对不对应
前面的铺垫结束,我们可以先创建一个Article类
namespace test
{
public class Article
{
public long Id { get; set; }
public string Title { get; set; }
public string Message { get; set; }
}
}
随后创建一个ArticleConfig类用于定义字段
namespace test
{
public class ArticleConfig :IEntityTypeConfiguration<Article>
{
public void Configure(EntityTypeBuilder<Article> builder)
{
builder.ToTable("T_Articles");
builder.Property(a => a.Title).HasMaxLength(100).IsUnicode(true).IsRequired();
builder.Property(a=>a.Message).IsUnicode(true).IsRequired();
}
}
}
然后创建一个MyDbContext类
namespace test
{
public class MyDbContext : DbContext
{
public DbSet<Article> Articles { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
base.OnConfiguring(optionsBuilder);
string connectStr = "server=localhost;Database=dbtest1;User=你的用户名;Password=你的密码";
//注意了,下面的那么Version是mysql的版本号,8.0.3是我的版本号,你可以通过在cmd中输入
//mysql --help查看自己的版本号
optionsBuilder.UseMySql
(connectStr,new MySqlServerVersion(new Version(8,0,3)));
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.ApplyConfigurationsFromAssembly(this.GetType().Assembly);
}
}
}
完成这些就可以开始在mysql中创建表了
在程序包管理器控制台输入:
Add-Migration "init"
UPdate-Database
数据库的表就创建完毕了,下面就是如何增加数据了
可以在Program.cs文件中
namespace test
{
internal class Program
{
static async Task Main(string[] args)
{
using(MyDbContext ctx = new MyDbContext())
{
Article a1 = new Article();
a1.Title = "the great khakiman";
a1.Message = "khakiman is a handsome man in the world";
ctx.Articles.Add(a1);
await ctx.SaveChangesAsync();
}
}
}
}
完成!!!!!