Code First的migration应用
2015-09-25 16:40
477 查看
在采用Code First模式开发C#系统时,可以采用执行migration指令来将实体模型的变化同步到数据库中,在实际应用过程中,更多的是连接到SQLServer而非SQL Express或LocalDB,各大网站和博客以及微软的www.asp.net已经清楚的告诉了处理步骤,这里就谈谈需要注意的事项:
1、Migration系列指令是针对包含DbContext派生类的项目进行的,与实体类项目可以不在同一个项目。
2、DbContext所在项目必须引用了Entity Framework,而实体类所在项目可以不引用Entity Framework。
3、Migration系列指令指定的项目必须包含App.config或Web.config文件,在该文件中需要包含如下代码:
4、若配置文件中的ConnectionString的name与DbContext派生类名称不同,则需要该派生类中传入name值,如下:
Migration指令解释:
1、enable-migrations -projectName <ProjectName> -connectionString <ConnectionString> -connectionprovidername <ConnectionProviderName>
功能:项目启动Migration功能的第一步必须执行的操作。 执行该方法会生成Migrations目录及其下的Configuration.cs文件,有时还会产生一个初始化的cs文件
参数: -projectName 指需要执行Migration操作的项目。
-connectionString 指数据库连接字符串。
-connectionprovidername 数据连接提供商名称。
上述三项就是App.config文件中ConnectionString节点需要设置的信息,也就是说,若你没有App.Config或Web.Config文件,可以通过在参数中给出这些数据获得同样的效果。
2、add-migration -name <Name> -projectName <ProjectName> -connectionString <ConnectionString> -connectionprovidername <ConnectionProviderName>
功能:根据实体对象生成数据库结构变化的cs文件。
参数: -name 生成的cs文件名的格式为:时间戳_name.cs。
3、update-database -projectName <ProjectName> -connectionString <ConnectionString> -connectionprovidername <ConnectionProviderName>
功能:执行由add-migration生成的代码,确保目标数据库与实体类结构一致。
关于Migration更为详细的信息请进入“程序包管理器控制台”,输入下列代码:
get-help enable-migrations -detailed
get-help add-migration -detailed
get-help Update-Database -detailed
1、Migration系列指令是针对包含DbContext派生类的项目进行的,与实体类项目可以不在同一个项目。
2、DbContext所在项目必须引用了Entity Framework,而实体类所在项目可以不引用Entity Framework。
3、Migration系列指令指定的项目必须包含App.config或Web.config文件,在该文件中需要包含如下代码:
<connectionStrings> <add name="VmeDbContext" providerName="System.Data.SqlClient" connectionString="server=localhost;database=YiBusiness;uid=vme;pwd=123qweASD" /> </connectionStrings>
4、若配置文件中的ConnectionString的name与DbContext派生类名称不同,则需要该派生类中传入name值,如下:
using System.Data.Entity; using VME.Data.Entity; namespace VME.Data.Access { public class VmeDbContext : DbContext { /// <summary> /// 设定数据库连接串名称 /// </summary> public VmeDbContext() : base("VmeDbContext") { } public DbSet<User> Users { get; set; } public DbSet<MobileDevice> MobileDevices { get; set; } public DbSet<Account> Accounts { get; set; } } }
Migration指令解释:
1、enable-migrations -projectName <ProjectName> -connectionString <ConnectionString> -connectionprovidername <ConnectionProviderName>
功能:项目启动Migration功能的第一步必须执行的操作。 执行该方法会生成Migrations目录及其下的Configuration.cs文件,有时还会产生一个初始化的cs文件
参数: -projectName 指需要执行Migration操作的项目。
-connectionString 指数据库连接字符串。
-connectionprovidername 数据连接提供商名称。
上述三项就是App.config文件中ConnectionString节点需要设置的信息,也就是说,若你没有App.Config或Web.Config文件,可以通过在参数中给出这些数据获得同样的效果。
2、add-migration -name <Name> -projectName <ProjectName> -connectionString <ConnectionString> -connectionprovidername <ConnectionProviderName>
功能:根据实体对象生成数据库结构变化的cs文件。
参数: -name 生成的cs文件名的格式为:时间戳_name.cs。
3、update-database -projectName <ProjectName> -connectionString <ConnectionString> -connectionprovidername <ConnectionProviderName>
功能:执行由add-migration生成的代码,确保目标数据库与实体类结构一致。
关于Migration更为详细的信息请进入“程序包管理器控制台”,输入下列代码:
get-help enable-migrations -detailed
get-help add-migration -detailed
get-help Update-Database -detailed
相关文章推荐
- c#调用COM组件
- C#实现把指定数据写入串口
- C#动态创建button的方法
- C#中抽象方法与虚拟方法的区别
- c#中虚函数的相关使用方法
- C#使用加边法计算行列式的值
- C#实现多线程的同步方法实例分析
- C#中尾递归的使用、优化及编译器优化
- C#实现子窗体与父窗体通信方法实例总结
- C#通用邮件发送类分享
- C#中this的用法集锦
- C#.NET获取拨号连接的宽带连接方法
- C#异步绑定数据实现方法
- C#实现AddRange为数组添加多个元素的方法
- C#中Equality和Identity浅析
- C#生成饼形图及添加文字说明实例代码
- C#判等对象是否相等的方法汇总
- C#简单的向量用法实例教程
- C#实现基于链表的内存记事本实例
- C#托管堆对象实例包含内容分析