博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Some lines about EF Code First migration.
阅读量:6865 次
发布时间:2019-06-26

本文共 3067 字,大约阅读时间需要 10 分钟。

Some lines about EF Code First migration:一. 模型设计     1.  遵循EF标准,注意表关系配对     2.  数据模型里尽量把必须的属性和说明都写全     3.  EF默认id字段为主键,如果没有,需指定主键二. 数据迁移     1.  命令运行环境:visual studio工具栏->工具->NuGet 程序包管理器->程序包管理器控制台     2.  基本命令和常用参数        >  get-help                              获取帮助的命令(例:get-help Enable-Migrations –detailed)           –detailed                             详细用法        >  Enable-Migrations              启用迁移           -Force                                  强制覆盖           -ProjectName                      目标项目(迁移类所在的项目)           -StartUpProjectName          启动项目(包含数据库连接字符串配置文件所在的项目)           -ContextTypeName             需要迁移的数据库(类)           -ConnectionStringName     指定使用配置文件中连接字符串的名称           -ConnectionString               指定使用的连接字符串           -ConnectionProviderName 指定连接字符串的provider名称        >  Add-Migration                    为挂起的Model变化添加迁移脚本           -Force           -ProjectName           -StartUpProjectName           -ConfigurationTypeName    指定使用的迁移配置           -IgnoreChanges                  忽略检测到挂起的model改变,为已有的数据库启用迁移创建一个初始的,空的迁移。           -ConnectionStringName             -ConnectionString                 -ConnectionProviderName         >  Update-Database               将挂起的迁移更新到数据库           -Force           -ProjectName           -StartProjectName           -ConfigurationTypeName           -ConnectionStringName            -ConnectionString            -ConnectionProviderName            -SourceMigration                只有-Script打开时才有效。指定迁移的名称用作更新的起点。忽略则使用最后一次应用的迁移。           -TargetMigration                 指定将数据库更新到哪个迁移的名称。           -Script                                 生成SQL脚本        >  Get-Migrations                   获取已经应用的迁移                                        3.  迁移操作步骤举例:         a.  第一次启用迁移,输入命令:               Enable-Migrations -ProjectName DataBaseModel -StartUpProjectName MemberContext -ContextTypeName DataBaseModel.MemberContext.MemberEntities               并敲回车键,然后打开生成的Migrations文件夹中的Configuration.cs文件,               把构造方法中的AutomaticMigrationsEnabled = false;改为AutomaticMigrationsEnabled = true;         b.  模型有改动时,输入命令:add-migration update20150508 -ProjectName DataBase -StartUpProjectName Member -Force并敲回车键,创建迁移脚本                     然后 输入命令:Update-Database -Verbose -ProjectName DataBase -StartUpProjectName Member并敲回车键,执行迁移操作     4.  配置自动迁移          在应用程序的入口方法(函数)里注册自动迁移:          Database.SetInitializer(new MigrateDatabaseToLatestVersion
()); 注意:Configuration.cs生成的是internal sealed class,如果不在启动程序集中,则需要修改成public 5. 脱离visual studio环境做数据库版本迁移,可用migrate.exe,可参考:http://msdn.microsoft.com/zh-cn/data/jj618307三. 注意事项: 1. 连接字符串不用DBFirst自动生成的那么复杂,采用如下格式即可:
2. 有挂起的Model改变时,会导致操作不正常,注意操作步骤,必要时清理挂起的迁移。EF应用CodeFirst模式,数据迁移的基本用法要点摘记

  

var logger = LoggerResolver.Current.Logger;

var dbContext = applicationContext.DatabaseContext;
var helper = new DatabaseSchemaHelper(dbContext.Database, logger, dbContext.SqlSyntax);
helper.CreateTable<Question>(true);
helper.CreateTable<Option>(true);

}

转载于:https://www.cnblogs.com/hualiu0/p/5025909.html

你可能感兴趣的文章
你为什么有那么多时间写博客?
查看>>
ubuntu16.04 配置双网卡机器
查看>>
集训第四周(高效算法设计)O题 (构造题)
查看>>
性能测试方案
查看>>
计算机系统的设计规则,性能评测
查看>>
【数论】【Polya定理】【枚举约数】【欧拉函数】【Java】poj2154 Color
查看>>
【枚举】【SPFA】Urozero Autumn Training Camp 2016 Day 5: NWERC-2016 Problem I. Iron and Coal
查看>>
maven生成war包的两种方式
查看>>
SQL Server 高级操作 视图和存储过程
查看>>
jre,jdk,jvm的关系
查看>>
mybatis的面试一对一,一对多,多对多的mapper.xml配置
查看>>
Python之路【第十二篇】:函数
查看>>
切记切记:Spring配置文件中,Component-scan无法扫描到的类中的自动装配对象无法被调用,报空指针错误。...
查看>>
UVA - 10591 Happy Number
查看>>
php 封装
查看>>
MVC 理解小谈
查看>>
php跨域cookie共享使用方法
查看>>
[C#]解决生成的缩略图模糊的问题
查看>>
mysql中修改字段的类型
查看>>
路由个数据包转发简介
查看>>