EF CodeFirst,同项目多个数据库的迁移

EF应用CodeFirst模式,数据迁移的基本用法要点摘记

适用于多个模型的 EF6 Code First 迁移

  1. 准备

    首先安装entity framework ,

    Install-Package EntityFramework

    接着创建两个我们自己的context,

    MyFirstContext.cs

    using System.Data.Entity;
    
    namespace Question.EntityFramework
    {
        public class MyFirstContext : DbContext
        {
            public MyFirstContext() : base("MyFirst")
            {
            }
        }
    }
    

    MySecondContext.cs

    using System.Data.Entity;
    
    namespace Question.EntityFramework
    {
        public class MySecondContext : DbContext
        {
            public MySecondContext() : base("MySecond")
            {
            }
        }
    }
    
  2. 添加Migrations文件夹

    enable-migrations -ContextTypeName Question.EntityFramework.MyFirstContext -MigrationsDirectory FirstMigrations
    enable-migrations -ContextTypeName Question.EntityFramework.MySecondContext -MigrationsDirectory SecondMigrations
    ContextTypeName:需要迁移的数据库(类)
    MigrationsDirectory:指定迁移文件的目录

  3. 创建迁移记录

    创建2个实体类,MyFirstEntity.cs和MySecondEntity.cs

    然后继续在程序包管理器控制台中输入:

    add-migration Initial -ConfigurationTypeName Question.EntityFramework.FirstMigrations.Configuration
    add-migration Initial -ConfigurationTypeName Question.EntityFramework.SecondMigrations.Configuration
    -ConfigurationTypeName:指定使用的迁移配置  对应不同的文件夹下的不同命名空间的迁移配置

  4. 生成数据表

最后配置好web.config输入:

update-database -ConfigurationTypeName Question.EntityFramework.FirstMigrations.Configuration

update-database -ConfigurationTypeName Question.EntityFramework.SecondMigrations.Configuration

大功告成

时间: 2024-10-25 08:01:20

EF CodeFirst,同项目多个数据库的迁移的相关文章

[.NET领域驱动设计实战系列]专题一:前期准备之EF CodeFirst

一.前言 从去年已经接触领域驱动设计(Domain-Driven Design)了,当时就想自己搭建一个DDD框架,所以当时看了很多DDD方面的书,例如领域驱动模式与实战,领域驱动设计:软件核心复杂性应对之道和领域驱动设计C# 2008实现等书,由于当时只是看看而已,并没有在自己代码中进行实现,只是初步了解一些DDD分层的思想和一些基本概念,例如实体,聚合根.仓储等概念,今年有机会可以去试试面试一个架构岗位的时候,深受打击,当面试官问起是否在项目中使用过DDD思想来架构项目时,我说没有,只是了解

EF CodeFirst 数据库创建与迁移

一.EF CodeFirst 根据实体创建数据库 1.新建好实体类 2.添加数据库上下文的类StudentInfoEntities:继承DbContext 3.配置Web.Config连接数据库字符串(name=“数据库上下文类的名称”) 4.写个controller运行代码,自动生成数据库 二.迁移数据库(sqlserver) 当修改实体属性后需要迁移数据库:打开工具-->NuGet程序包管理器-->程序包管理器控制台 1.第一次迁移先执行命令:Enable-Migrations 2.Add

EF codefirst 数据库迁移

如果出现 未能加载文件或程序集“Microsoft.VisualStudio.Shell, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”或它的某一个依赖项.系统找不到指定的文件. 重新安装EF 命令Install-Package EntityFramework 在此之后 主要是3步走: 1:Enable-Migrations -ContextTypeName MvcMovie.Models.MovieDbC

C# 之 EF CodeFirst创建MySQL数据库

MySQL安装好了,今天跟大家交流一下怎么利用EntityFramework的CodeFirst在MySQL数据库中创建数据库 目标框架:.NET Framework 4 第一步:新建一个项目,然后添加如下的引用,这些引用可以在NuGet中添加,也可以到官网中下载然后添加 第二步:在配置文件中添加数据库节点配置 <span style="font-family:Arial;font-size:10px;"><?xml version="1.0"?&

EF CodeFirst 如何通过配置自动创建数据库&lt;当模型改变时&gt;

最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷 学无止境,精益求精    本篇为进阶篇,也是弥补自己之前没搞明白的地方,惭愧惭愧. 如有不明白,请参考:EF CodeFirst 创建数据库 及 EF CodeFirst增删改查之'CRUD' 话不多说,直接上代码: using System; using System.Collections.Generic; using System.Linq; using System

20.2.翻译系列:EF 6中基于代码的数据库迁移技术【EF 6 Code-First系列】

原文链接:https://www.entityframeworktutorial.net/code-first/code-based-migration-in-code-first.aspx 在前面的一节中,你学习了自动迁移技术,当实体改变的时候,自动进行数据库迁移.这里你将会学习基于代码的数据库迁移技术. 基于代码的数据库迁移技术,在迁移的时候,提供了更多的控制.例如允许你配置添加额外的字符串,例如设置列的默认值,配置计算列等等. 为了使用基于代码的数据库迁移,你需要在程序包管理控制台中输入:

EF CodeFirst简介、默认约定、数据库初始化策略

CodeFirst 工作流程 创建或修改领域类-->使用数据注解或者Fluent API来配置领域类-->使用自动数据库迁移技术或者基于代码的数据库迁移技术来创建数据库. CodeFirst默认约定 约定就是一系列的默认规则,通过这些规则,在使用EF Code-First的时候,可以自动的基于你的领域类配置概念模型.默认约定的命名空间:System.Data.Entity.ModelConfiguration.Conventions; ①schema(模式)  默认情况下,EF会为所有的数据库

DB Initialization(数据库初始化)[EF Code-First系列]

前面的例子中,我们已经看到了Code-First自动为我们创建数据库的例子. 这里我们将要学习的是,当初始化的时候,Code-First是怎么决定数据库的名字和服务的呢??? 下面的图,解释了这一切!!! 这个图解释了,数据库初始化的流程,是基于我们在上下文类中的构造函数中传递的参数. 在上面的图中,context类中的base构造器中,可以填入下面的参数: 无参数(No Parameter) 数据库的名字(Database Name) 连接字符串的名字(Connection String Na

1.Relationship in Entity Framework Using Code First Approach With Fluent API【使用EF Code-First方式和Fluent API来探讨EF中的关系】

In this article, you will learn about relationships in Entity Framework using the Code First Approach with Fluent API. 在这篇文章中,你将会学习到使用EF Code-First方式和Fluent API来探讨EF中的关系(一对一,一对多,多对多). Introduction[介绍] A relationship, in the context of databases, is a