使用Pomelo.EntityFrameworkCore.MySql生成去往Mysql数据库中生成表结构,在当前项目下右击
需要安装这三个包
安装<Pomelo.EntityFrameworkCore.MySql>这个程序包文件,注意,一定要看清当前版本的依赖项,如下图所示:
但是直接搜索显示的是最新版本,如下:(绿色框代表当前项目安装的版本,红色框带表最新的版本)
(下图中, 在项目中没有安装Relational这个文件包,显示最新的包的版本)
这时候需要到官网去找到要求的版本,官网地址,搜索Microsoft.EntityFrameworkCore.Tools,找到对应的版本,点进去,如下图:
,然后复制安装命令:
接下来在要安装的项目文件地址下安装,步骤如下:先打开项目文件地址,如下图
在文件夹下的地址栏上输入cmd
打开控制台,粘贴刚刚复制的命令,摁下Enter键即可安装
安装完成后,需要安装Microsoft.EntityFrameworkCore这个包文件,与上同理,
安装完成后,先将当前项目设置为启动项,然后打开程序包管理器控制台,如下所示:
如下显示:
在当前位置输入 Add-Migration InitialCreate命令
回复如下代表成功:
Build started...
Build succeeded.
To undo this action, use Remove-Migration.
输入Update-Database,更新数据库
演示代码部分如下一个Model类
[Table("sys_user_info")]
public class SysUserInfo
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Column("_id")]
public int Id { get; set; }
[Column("user_name")]
[MaxLength(100)]
public string UserName { get; set; }
[Column("password")]
public string Password { get; set; }
}
一个EFCoreContext数据库连接类
public class EFCoreContext:DbContext
{
public DbSet<SysUserInfo> SysUserInfo { get; set; }
private string strConn = "server = localhost; database=zx_sp;user=root;password=1617;";//"Server=localhost;Database=zx_sp;User=root;Password=1617;";//"server=localhost;database=mydatabase;user=root;password=yourpassword;"
//public EFCoreContext()
//{
//}
/// <summary>
/// 配置数据库的访问方式
/// </summary>
/// <param name="optionsBuilder"></param>
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseMySql(strConn, ServerVersion.AutoDetect(strConn));
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
// 配置实体类的映射关系(可选)
modelBuilder.Entity<SysUserInfo>(entity =>
{
entity.Property(e => e.UserName).IsRequired();
});
}
}