entity framework自动迁移
第一步,建立测试项目,普通的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自动迁移的更多相关文章
- PostgreSQL Entity Framework 自动迁移
1.依次添加NuGet包 EntityFramework.Npgsql.EntityFramework6.Npgsql,会自动生成一些配置文件,不过缺少数据库驱动的配置节点: <system.d ...
- 关于Entity Framework自动关联查询与自动关联更新导航属性对应的实体注意事项说明
一.首先了解下Entity Framework 自动关联查询: Entity Framework 自动关联查询,有三种方法:Lazy Loading(延迟加载),Eager Loading(预先加载) ...
- 使用Entity Framework 自动产生的Sql语句
对于一个单独实体的通常操作有3种:添加新的实体.修改实体以及删除实体. 1.添加新的实体 Entity Framework Code First添加新的实体通过调用DbSet.Add()方法来实现. ...
- Entity Framework 自动生成CodeFirst代码
前言 在前面的文章中我们提到Entity Framework的“Code First”模式也同样可以基于现有数据库进行开发.今天就让我们一起看一下使用Entity Framework Power To ...
- Mysql 该如何 Entity Framework 数据库迁移 和 如何更好的支持EntityFramework.Extended
问题 1.在使用EntityFramework访问Mysql的时候,使用迁移来生成数据库或者更新数据库时候会遇到一些问题 2.EntityFramework.Extended对Mysql的支持不是很完 ...
- Entity Framework数据库迁移
1.启用数据迁移: enable-Migrations2.增加一条数据库迁移指令:add-Migrations 必须带上一个版本名称,比如AddUsernamePassword完整的指令:add-Mi ...
- Entity Framework Core 迁移命令
Add-Migration init Update-Database init 修改model后,执行迁移的命令 更新数据库 每次更新都要{update}修改 Add-Migration {updat ...
- MetadataType来帮助entity framework自动生成的代码进行标注
真的是,用的时候就四处google,还是记在这里容易找 [MetadataType(typeof(Person.Metadata))] public partial class Person { pr ...
- Entity Framework 自动生成代码 如何用继承
分部类 用接口
随机推荐
- oracle应用-表空间.用户名.权限
oracle 数据库应用 虽然代码少但是很实用! --01.表空间create tablespace tp_hrdatafile 'E:\tp_hr01.dbf' size 10M, 'E:\tp_t ...
- PHP 单引号 与双引号区别
在PHP中,字符串的定义可以使用单引号,也可以使用双引号. PHP允许我们在双引号串中直接包含字串变量,双引号串中的变量将被解释而且替换,而单引号串中的内容总被认为是普通字符.例如: $foo = 2 ...
- Spring事务配置的五种方式(转载)
Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource.TransactionManager和代理机制这三部分,无论哪种配置方式,一般变化的只是代理机制这部分. DataSo ...
- jenkins环境搭建
1.官网下载jenkins的安装包,直接解压安装.jenkins-1.641.zip 2.修改jenkins端口,启动jenkins服务.E:\Program Files (x86)\Jenkins\ ...
- 实现Launcher默认壁纸、选择壁纸定制化功能
需求功能说明: 该定制需求为在系统中增加一个新的分区如myimage,用以实现存放定制资源.例如在myimage下新建wallpaper文件夹用于存放定制的墙纸图片资源,当Launcher加载 ...
- js单击自动选择文本
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...
- ORACLE存储过程学习
存储过程 1 CREATE OR REPLACE PROCEDURE 存储过程名 2 IS 3 BEGIN 4 NULL; 5 END; 行1: CREATE OR REPLACE PROCEDURE ...
- 关于JAVA的数据转换总结
数据转换在编程里面是十分常用的,将平常可能用到的数据转换类型总结起来会在以后码代码的过程中有很大帮助. 在数据转换之前,需要明白的是基础数据类型的自动转换和强制转换.接下来就先从数据类型的容量讲起. ...
- 【LeetCode OJ】Binary Tree Zigzag Level Order Traversal
Problem Link: https://oj.leetcode.com/problems/binary-tree-zigzag-level-order-traversal/ Just BFS fr ...
- UWP/Win10新特性系列—Drag&Drop 拖动打开文件
在Win10 App开发中,微软新增了系统PC文件与UWP 之间的文件拖拽行为,它支持将系统磁盘上的文件以拖拽的形式拖入App中并处理,在前不久的微软build 2015开发者大会上微软展示的UWP版 ...