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  不能用. 原因不明确

  • 相关阅读:
    排序算法【java实现】(二)冒泡排序和简单选择排序
    排序算法【java实现】(一)直接插入排序
    Html中行内元素和块级元素有哪些?
    设计模式--单例模式(二)双重校验锁模式
    设计模式--单例模式(一)懒汉式和饿汉式
    给定一个字符串数组{"nba","abc","cba","zz","qq","haha"},请按照字典顺序进行从小到大的排序。
    请统计"nba"在字符串"nbaernbatynbauinbaopnba"中出现的次数
    java string方法
    css中的颜色值
    jquery动画效果中,避免持续反应用户的连续点击
  • 原文地址:https://www.cnblogs.com/Extnet/p/9558640.html
Copyright © 2011-2022 走看看