.net core mysql CodeFirst

创建两个项目

1.网站

2.Model层

 

引用DLL

Microsoft.EntityFrameworkCore

Microsoft.EntityFrameworkCore.Design

Microsoft.EntityFrameworkCore.Tools

Pomelo.EntityFrameworkCore.MySql

 

修改两个项目中的的tools


<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.1.2" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.1.2" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.1.2" />
<PackageReference Include="Pomelo.EntityFrameworkCore.MySql" Version="2.1.1" />
<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.0.0" />
<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0" />
</ItemGroup>

 

 

创建DataContext

using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Text;

namespace MysqlCoreTest
{
    //using Microsoft.EntityFrameworkCore;
    public class DataContext : DbContext
    {

        public DbSet<User> Users { get; set; }
        //public DataContext(DbContextOptions<DataContext> options) : base(options)
        //{
        //}


        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            optionsBuilder.UseMySql(
                "Data Source=localhost;Database=Test;User ID=root;Password=12qwaszx;pooling=true;CharSet=utf8;port=3306;sslmode=none");
        }

        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            base.OnModelCreating(modelBuilder);
            modelBuilder.Entity<User>().HasIndex(u => u.Id).IsUnique();
        }
    }

}

  

依次点开:工具》打开Nuget包管理器》程序包管理控制台。

首先输入Add-Migration MyFirstMigration执行;

接着输入Update-Database执行。出现Done表示成功创建数据库。

 

EFCodeFirst 各种命令整理
1.Enable-Migrations (创建迁移目录:Migrations,如果有多个数据上下文可以用 -ContextTypeName  命令迁移对应的数据上下文 )
2.Add-Migration (创建一个迁移文件)
3.update-database(启动迁移,生成数据库)
4.install-package entityframework(初始化配置包)
5. Update-Database -Script -SourceMigration:"  " -TargetMigration:" " (生成数据库版本之间的Sql脚本,正式区换版时有用)
6.Update-Database –TargetMigration:"  "  (进行数据库版本回溯)
7.Update-Database –TargetMigration: $InitialDatabase -Script (回到初始状态)

 遇到的坑

 

 

Unable to connect to any of the specified MySQL hosts. 或者是 MySql.Data.MySqlClient.MySqlException:"Unable to connect to any of the spec

这里一定是要把ip地址写成 localhost  不能用. 原因不明确

posted @ 2018-08-30 10:32  Royal丶鬼才  阅读(745)  评论(0编辑  收藏  举报