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 自动生成代码 如何用继承
分部类 用接口
随机推荐
- VS2013+opencv2.4.9(10)配置[zz]
1. 下载opencv2.4.9,然后解压到一个位置 设置opencv SDK解压目录,点击Extract后解压 我是习惯于解压到这个位置的. 解压过程如上图. 2. ...
- 亲身试用python简单小爬虫
前几天基友分享了一个贴吧网页,有很多漂亮的图片,想到前段时间学习的python简单爬虫,刚好可以实践一下. 以下是网上很容易搜到的一种方法: #coding=utf-8 import urllib i ...
- 从UWP到SWIFT-开始
hi,all 我呢,是一个win10 uwp的开发者,从wp7.wp8.wp8.1.win8.1 到现在的win10,一直在windows阵营,做过一些大家比较熟悉的东西现在也还是在做win10的uw ...
- 团队第二周:SRS文档
项目计划: 对于这次的实验,我们组计划进行一个图书管理系统的项目书写,在第一阶段,对该项目先进行一下规划,总结该项目的注意事项以及实验要求,并加以实施. 下面我先对我们项目的要求坐一下说明: 1定义五 ...
- bootstraps字体图标无法显示
使用bootstraps字体图标,必须在css的同级文件夹下,建立新的文件夹为fonts,放入一下文件. 在还是无法显示字体图标的情况下,可查看bootstraps.css中的 @font-face ...
- linux命令:chgrp
1.命令介绍: chgrp用来改变文件或目录所属组的权限,要改变成的组必须在/etc/group文件存在才可以. 2.命令格式: chgrp [选项] 组 文件 3.命令参数: 必要参数: -c 当发 ...
- OD18
介绍一个工具exescope 可以修改一些exe程序里的东西 通过这个工具 我们找到了我们要除掉的NAG窗口的具体位置 那我们可以通过OD进行跟踪 来到程序头下段 ...
- 回文数组(Rotate Array (JS))
旋转一个数组. function rotate(array,n){ var l =array.length,a=array.map(function(x){return x}),arr=[]; n=n ...
- matlab列优先与高维矩阵重构 及 CNN 逐层可视化 on Matlab
由于matlab在列化a(:)以及reshape(a)等操作中是列优先的,所以要重构出新的高维度矩阵,通常要把reshape和permute结合起来使用. 先到 http://caffe.berkel ...
- hibernate persist update 方法没有正常工作(不保存数据,不更新数据)
工程结构 问题描述 在工程中通过spring aop的方式配置事务,使用hibernate做持久化.在代码实现中使用hibernate persit()方法插入数据到数据库,使用hibernate u ...