第一步,建立测试项目,普通的WinForm类型,EntityMigration;

第二步,从NuGet为项目添加MySql.Data.Entity,由Oracle提供,我选择人气高的;

第三步,建立实体模型;

 using System.ComponentModel.DataAnnotations;

 namespace EntityMigration
{
public class Item
{
public long Id { get; set; } [MaxLength()]
public string Code { get; set; } [MaxLength()]
public string Label { get; set; } }
}

第四步,建立数据库上下文,注意添加数据库类型的注解;

 using System.Data.Entity;
using MySql.Data.Entity; namespace EntityMigration
{
[DbConfigurationType(typeof(MySqlEFConfiguration))]
class DatabaseContext:DbContext
{
public DatabaseContext():base("name=mysql")
{
} public DbSet<Item> Items { get; set; } }
}

第五步,建立自动迁移的配置;

 using System.Data.Entity.Migrations;

 namespace EntityMigration
{
class Configuration:DbMigrationsConfiguration<DatabaseContext>
{
public Configuration()
{
AutomaticMigrationsEnabled = true;
AutomaticMigrationDataLossAllowed = true;
}
}
}

第六步,在应用程序启动的地方添加迁移代码;

            Database.SetInitializer(new MigrateDatabaseToLatestVersion<DatabaseContext, Configuration>());

以上做完了,你会发现自动迁移并没有生效,因为你还差一步,就是访问一次数据库;

         static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false); Database.SetInitializer(new MigrateDatabaseToLatestVersion<DatabaseContext, Configuration>()); #region 让自动迁移生效的测试 using (var db = new DatabaseContext())
{
var tem = db.Items.Where(x => x.Code == "");
} #endregion Application.Run(new Form1());
}

entity framework自动迁移的更多相关文章

  1. PostgreSQL Entity Framework 自动迁移

    1.依次添加NuGet包 EntityFramework.Npgsql.EntityFramework6.Npgsql,会自动生成一些配置文件,不过缺少数据库驱动的配置节点: <system.d ...

  2. 关于Entity Framework自动关联查询与自动关联更新导航属性对应的实体注意事项说明

    一.首先了解下Entity Framework 自动关联查询: Entity Framework 自动关联查询,有三种方法:Lazy Loading(延迟加载),Eager Loading(预先加载) ...

  3. 使用Entity Framework 自动产生的Sql语句

    对于一个单独实体的通常操作有3种:添加新的实体.修改实体以及删除实体. 1.添加新的实体 Entity Framework Code First添加新的实体通过调用DbSet.Add()方法来实现. ...

  4. Entity Framework 自动生成CodeFirst代码

    前言 在前面的文章中我们提到Entity Framework的“Code First”模式也同样可以基于现有数据库进行开发.今天就让我们一起看一下使用Entity Framework Power To ...

  5. Mysql 该如何 Entity Framework 数据库迁移 和 如何更好的支持EntityFramework.Extended

    问题 1.在使用EntityFramework访问Mysql的时候,使用迁移来生成数据库或者更新数据库时候会遇到一些问题 2.EntityFramework.Extended对Mysql的支持不是很完 ...

  6. Entity Framework数据库迁移

    1.启用数据迁移: enable-Migrations2.增加一条数据库迁移指令:add-Migrations 必须带上一个版本名称,比如AddUsernamePassword完整的指令:add-Mi ...

  7. Entity Framework Core 迁移命令

    Add-Migration init Update-Database init 修改model后,执行迁移的命令 更新数据库 每次更新都要{update}修改 Add-Migration {updat ...

  8. MetadataType来帮助entity framework自动生成的代码进行标注

    真的是,用的时候就四处google,还是记在这里容易找 [MetadataType(typeof(Person.Metadata))] public partial class Person { pr ...

  9. Entity Framework 自动生成代码 如何用继承

    分部类 用接口

随机推荐

  1. 379. Design Phone Directory

    379. Design Phone Directory Design a Phone Directory which supports the following operations: get: P ...

  2. MSSQL数据库安装失败

    1停止所有跟Sql相关的服务:控制面板-〉管理工具-〉服务2.在控制面板中卸载所有和SQL有关的一切程序或者组建3.注册表清理():3.1彻底删除SQL Server: hkey_local_mach ...

  3. Android 简易崩溃日志保存

    仅仅做了简单的保存到了本地而已: 根据需要可以继续增加功能: 下一次启动上传到服务器: 增加应用版本,机型系统版本信息等: public class CrashSaver { public stati ...

  4. ios9-通讯录

    在以往的ios开发中,开发者需要获取用户的通讯录信息的时候,往往要使用AddressBook.frame框架,该框架是纯C语言的API,在开发过程中,还需要开发者手动的管理内存,这对于新进开发者很难理 ...

  5. Cosh.3

    查壳.没有 拖 OD 查找字符串 找到有用的东西   顺线往上看       找到  大概算入口处  下断 就从这里开始  单步下去吧 name的变幻 Serial的变幻 直接翻译出来了   继续看看 ...

  6. A Five-Minute Guide to Ph.D. Program Applications

    http://pgbovine.net/PhD-application-tips.htm

  7. Javascript 事件对象(六)键盘事件

    keyCode获取用户按下键盘的哪个按键 <!DOCTYPE HTML> <html> <head> <meta http-equiv="Conte ...

  8. 在VC下采用ADO实现BLOB(Binary)数据的存储,读取,修改,删除。

    在VC下采用ADO实现BLOB(Binary)数据的存储,读取,修改,删除. 作者:邵盛松 2009-09-05 前言 1关于的BLOB(Binary)数据的存储和读取功能主要参考了MSDN上的一篇& ...

  9. B - I Hate It

    #include<cstdio> #include<string.h> using namespace std; int ans; ; ]; struct Node{ int ...

  10. (实用篇)php支付宝接口用法分析

    本文实例讲述了php支付宝接口用法.分享给大家供大家参考.具体分析如下: 现在流行的网站支持平台,支付宝当仁不让的老大了,现在我们就来告诉你如何使用支付宝api来做第三方支付,把支付宝放到自己网站来, ...