net core ef mysql迁移_vs2017 EFCore 迁移数据库命令

项目结构:

20180222142334_9605.png

首先引用

Microsoft.EntityFrameworkCore.Tools

Microsoft.EntityFrameworkCore.Design

增加类DesignTimeDbContextFactory

public class DesignTimeDbContextFactory : IDesignTimeDbContextFactory

{

public QHContext CreateDbContext(string[] args)

{

var builder = new DbContextOptionsBuilder();

//builder.UseSqlServer("Server=(localdb)\MSSQLLocalDB;Integrated Security=true;Initial Catalog=Light;");

builder.UseSqlServer("Server=***;Database=**;User ID=**;Password=**;Trusted_Connection=false;Connect Timeout=120;MultipleActiveResultSets=True;");

return new QHContext(builder.Options);

}

}

QHContext 类

public class QHContext : DbContext

{

public QHContext(DbContextOptions options) : base(options)

{

}

public DbSet Customers { get; set; }

public DbSet Orders { get; set; }

public DbSet OrderItems { get; set; }

public DbSet Products { get; set; }

public DbSet ProductItems { get; set; }

public DbSet Users { get; set; }

public DbSet BuckleRecords { get; set; }

public DbSet CustomerRelations { get; set; }

public DbSet OrderLogs { get; set; }

public DbSet RebateRecords { get; set; }

public DbSet Recharges { get; set; }

public DbSet Withdraws { get; set; }

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)

{

//var builder = new ConfigurationBuilder()

// .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true);

//var configuration = builder.Build();

//string connectionString = configuration.GetConnectionString("MyConnection");

//optionsBuilder.UseMySQL(connectionString);

}

protected override void OnModelCreating(ModelBuilder builder)

{

//builder.Entity().HasKey(m => m.CustomerId);

builder.Entity().ToTable("Customer");

builder.Entity().ToTable("BuckleRecord");

builder.Entity().ToTable("CustomerRelation");

builder.Entity().ToTable("Order");

builder.Entity().ToTable("OrderItem");

builder.Entity().ToTable("OrderLog");

builder.Entity().ToTable("Product");

builder.Entity().ToTable("ProductItem");

builder.Entity().ToTable("RebateRecord");

builder.Entity().ToTable("Recharge");

builder.Entity().ToTable("User");

builder.Entity().ToTable("Withdraw");

base.OnModelCreating(builder);

}

}

编辑Qh.Data项目的csproj 增加

有可能报错找不到程序集,需要再PropertyGroup节点添加指定运行版本

2.0.3

最终的配置文件如下:

20180222142334_9955.gif

20180222142335_4115.gif

netcoreapp2.0

2.0.3

..\lib\CZY.Framework.dll

C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.extensions.configuration\2.0.0\lib\netstandard2.0\Microsoft.Extensions.Configuration.dll

View Code

cmd到QH.Data项目文件夹

生成迁移指令

dotnet ef migrations add initDB

更新到数据库

dotnet ef database update

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值