zoukankan      html  css  js  c++  java
  • .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  不能用. 原因不明确

  • 相关阅读:
    CodeForces
    EOJ 3506. 斐波那契数列
    牛客练习赛13 D幸运数字Ⅳ . 康托逆展开
    UVA
    Piggy-Bank HDU
    Dollar Dayz POJ
    UVA 674 Coin Change (完全背包)
    python OOP (1)
    python lambda简易使用
    python whl模块安装方法
  • 原文地址:https://www.cnblogs.com/Extnet/p/9558640.html
Copyright © 2011-2022 走看看