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 自动生成代码 如何用继承
分部类 用接口
随机推荐
- 379. Design Phone Directory
379. Design Phone Directory Design a Phone Directory which supports the following operations: get: P ...
- MSSQL数据库安装失败
1停止所有跟Sql相关的服务:控制面板-〉管理工具-〉服务2.在控制面板中卸载所有和SQL有关的一切程序或者组建3.注册表清理():3.1彻底删除SQL Server: hkey_local_mach ...
- Android 简易崩溃日志保存
仅仅做了简单的保存到了本地而已: 根据需要可以继续增加功能: 下一次启动上传到服务器: 增加应用版本,机型系统版本信息等: public class CrashSaver { public stati ...
- ios9-通讯录
在以往的ios开发中,开发者需要获取用户的通讯录信息的时候,往往要使用AddressBook.frame框架,该框架是纯C语言的API,在开发过程中,还需要开发者手动的管理内存,这对于新进开发者很难理 ...
- Cosh.3
查壳.没有 拖 OD 查找字符串 找到有用的东西 顺线往上看 找到 大概算入口处 下断 就从这里开始 单步下去吧 name的变幻 Serial的变幻 直接翻译出来了 继续看看 ...
- A Five-Minute Guide to Ph.D. Program Applications
http://pgbovine.net/PhD-application-tips.htm
- Javascript 事件对象(六)键盘事件
keyCode获取用户按下键盘的哪个按键 <!DOCTYPE HTML> <html> <head> <meta http-equiv="Conte ...
- 在VC下采用ADO实现BLOB(Binary)数据的存储,读取,修改,删除。
在VC下采用ADO实现BLOB(Binary)数据的存储,读取,修改,删除. 作者:邵盛松 2009-09-05 前言 1关于的BLOB(Binary)数据的存储和读取功能主要参考了MSDN上的一篇& ...
- B - I Hate It
#include<cstdio> #include<string.h> using namespace std; int ans; ; ]; struct Node{ int ...
- (实用篇)php支付宝接口用法分析
本文实例讲述了php支付宝接口用法.分享给大家供大家参考.具体分析如下: 现在流行的网站支持平台,支付宝当仁不让的老大了,现在我们就来告诉你如何使用支付宝api来做第三方支付,把支付宝放到自己网站来, ...