(为什么这么写,我记不太清了。大致步骤相同,不过我推荐的这个比我写的好。愿:在程序的路上多多学习,共同进步!奥利给!!!)

一、在Models 新建两个数据库类

这个是数据库需要生成的类基础

public classUser

{

[Key]public string ID { get; set; }

[MaxLength(50)]public string Name { get; set; }public int Age { get; set; }

[MaxLength(50)]public string Phone { get; set; }public string DepartmentID { get; set; }

[ForeignKey("DepartmentID")]public Department Department { get; set; }

}public classDepartment

{

[Key]public string ID { get; set; }

[MaxLength(50)]public string Name { get; set; }

}

二、新建文件夹MysqlDbContext,然后新建类MysqlContext (注意文件夹的名字,不要跟类名一样)

然后建立表与数据库关系映射

public classMysqlContext : DbContext

{public MysqlContext(DbContextOptions options) : base(options)

{

}//建立表与模型的映射关系

public DbSet User { get; set; }public DbSet Department { get; set; }protected override voidOnModelCreating(ModelBuilder modelBuilder)

{base.OnModelCreating(modelBuilder);

}

}

三、添加依赖项

依赖项右键 》》管理NuGet 包》》浏览

搜索这两个,注意安装的 版本号 ,是core 2.x的 你安装 3.x 会报错

我安装的是2.2.6

Microsoft.EntityFrameworkCore.Tools

Pomelo.EntityFrameworkCore.MySql

c9e11b91654d1339fcc6c866a9c2347a.png

不要在乎那个安装的颜色,第一个安装之前是浅蓝,安装之后就紫色了。

四、添加 Util 文件夹 ,添加AppConfigurtaionServices类

这个是创建生成的数据库文件的类

public classAppConfigurtaionServices

{public static IConfiguration Configuration { get; set; }staticAppConfigurtaionServices()

{//ReloadOnChange = true 当appsettings.json被修改时重新加载

Configuration = newConfigurationBuilder()

.Add(new JsonConfigurationSource { Path = "appsettings.json", ReloadOnChange = true})

.Build();

}

}

还有这种写法(我不是太懂这两个有什么区别,知道的大哥可以给我留言,万分感谢)

public class DesignTimeDbContextFactory : IDesignTimeDbContextFactory{public MysqlDbContext CreateDbContext(string[] args)

{var configBuilder = newConfigurationBuilder()

.SetBasePath(Directory.GetCurrentDirectory())

.AddJsonFile("appsettings.json")

.Build();var builder = new DbContextOptionsBuilder();

builder.UseMySql(configBuilder.GetConnectionString("DefaultConnection"));return newMysqlDbContext(builder.Options);

}

}

这种写法需要引用(注意版本)

Microsoft.Extensions.Configuration.FileExtensions

Microsoft.Extensions.Configuration.Json

Microsoft.Extensions.Configuration

Pomelo.EntityFrameworkCore.MySql

五、在Startup 的ConfigureServices下添加

services.AddDbContext(options =>options.UseMySql(Configuration.GetConnectionString("DefaultConnection")));

c728e6470ef3d608c4d6e3b3fda14629.png

六、在appsettings.json 添加数据库连接

"ConnectionStrings": {"DefaultConnection": "Data Source =数据库服务器地址(127.127.127.127);port=3306;Initial Catalog=数据库名;user id=数据库连接名;password=密码;Character Set=utf8;sslmode=none"},

e6132c2a96863351bbc2d65122d93fbe.png

七、最后一步

执行命令找到程序应用控制台

先输入 Add-Migration init 回车

然后 Update-Database init 回车

最后在数据看一下

50f37dfcf00816debd36b9fc716d6b42.png

最后在补充一下,如果要添加或者修改数据库直接修改Models的类,然后执行Update-Database V1.1(这个v1.1是版本号),就可以了,不要直接改数据库。

多说一句,如果是新建的类库里面放的话,默认执行的是启动项,也就是你的web项目,要把默认的改成你的类库

结束。

目录如下:

33d2bec74b33f2b297b64a150602e2a9.png

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐