博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[EF Core]数据迁移(二)
阅读量:6040 次
发布时间:2019-06-20

本文共 2714 字,大约阅读时间需要 9 分钟。

摘要

在实际项目中,大多都需要对业务逻辑以及操作数据库的逻辑进行分成操作,这个时候该如何进行数据的迁移呢?

步骤

上篇文章:

比如,我们将数据上下文放在了Data层。

看一下BlogContext内容如下:

public class BlogContext : DbContext    {        public BlogContext(DbContextOptions options) : base(options)        {        }        public DbSet
Users { set; get; } }

在appsetting中配置连接字符串

{  "ConnectionStrings": {    "DefaultConnection": "Server=localhost;database=MyBlogDb;uid=root;pwd=abcd;"  },  "Logging": {    "IncludeScopes": false,    "LogLevel": {      "Default": "Warning"    }  }}

在StartUp启动类中,做如下操作:

using System;using System.Collections.Generic;using System.Linq;using System.Threading.Tasks;using Microsoft.AspNetCore.Builder;using Microsoft.AspNetCore.Hosting;using Microsoft.EntityFrameworkCore;using Microsoft.Extensions.Configuration;using Microsoft.Extensions.DependencyInjection;using Wolfy.Blog.Data;namespace Wolfy.Blog{    public class Startup    {        public Startup(IConfiguration configuration)        {            Configuration = configuration;        }        public IConfiguration Configuration { get; }        // This method gets called by the runtime. Use this method to add services to the container.        public void ConfigureServices(IServiceCollection services)        {
string connStr = Configuration.GetConnectionString("DefaultConnection"); services.AddDbContext
(options => options.UseMySQL(connStr, opt => opt.MigrationsAssembly("Wolfy.Blog"))); services.AddMvc(); } // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IHostingEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); app.UseBrowserLink(); } else { app.UseExceptionHandler("/Home/Error"); } app.UseStaticFiles(); app.UseMvc(routes => { routes.MapRoute( name: "default", template: "{controller=Home}/{action=Index}/{id?}"); }); } }}

可以看到上面可以指定迁移程序集

//        // 摘要:        //     Configures the assembly where migrations are maintained for this context.        //        // 参数:        //   assemblyName:        //     The name of the assembly.        //        // 返回结果:        //     The same builder instance so that multiple calls can be chained.        public virtual TBuilder MigrationsAssembly([CanBeNullAttribute] string assemblyName);

大概意思是配置数据迁移保持的程序集。

总结

一个简单的用法,遇到了,就记录一下,希望对你有所帮助

转载于:https://www.cnblogs.com/wolf-sun/p/8064750.html

你可能感兴趣的文章
Linux 内核--任务0的运行(切换到用户模式)move_to_user_mode
查看>>
ios扩展机制objc_setAssociatedObject,objc_getAssociatedObject
查看>>
批量添加-fno-objc-arc
查看>>
二叉树的层序遍历
查看>>
os模块
查看>>
安装 matplotlib
查看>>
css伪类(:before和:after)
查看>>
react native TypeError network request failed
查看>>
PLSQL锁表之后改如何操作
查看>>
Sql注入、文件上传与手机品牌信息抓取解决方案
查看>>
SQLServer跨库查询--分布式查询[转载]
查看>>
django错误-NoReverseMatch at /admin/
查看>>
Laravel中的信息验证 和 语言包
查看>>
折半查找法(二分查找 java版)
查看>>
工作两周年—--个人知识体系梳理
查看>>
win2003开启telnet
查看>>
php配置文件php.ini中文详解
查看>>
关于Tomcat配置相关总结
查看>>
安装PDO_MYSQL遇到的问题:error: Cannot find MySQL header files under
查看>>
CocoaPods最新安装及跳过pod setup快速安装教程
查看>>