关于code first 创建并更改已经创建好的数据库的方法【本人真实操作】

提前告知,我对于专业的名词使用的不是很熟练,听到一套套的专业名词也会晕晕的,这是一个不好的习惯,为这个毛病吃了不少的亏,浪费了不少的时间。希望和我同样有这个毛病的人共同进步,改掉这个坏习惯。勉之!

第一个模块是使用code first 来添加相应的数据库。

①先创建几个类,名为Roles,UserProfile,UsersInRoles。如下图:


在配置文件webconfig.cs中添加链数据库连接字符串:

<add name="DefaultConn" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=EnterpriseBeta;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\EnterpriseBeta.mdf" providerName="System.Data.SqlClient" />

其中: RolesDb构造函数后面跟着的base里定义的值是链接字符串的名字。前面base里面的"name="字符可要可不要。然后在controller文件夹里添加UsersInRolesController,添加的时候使用CRUD的方式。什么是CRUD?网上多的是这个单词的解释。

创建好后运行,打开localhost/你的端口号/UsersInRoles,就可以看到一个空空的list页面,这个说名你创建好了名为EnterPriseBeta的数据库。打开【View-ServerExplore】,在中添加数据库。展开就可以查看你创建的表了。


第二个模块,数据迁移(Data Migrations):

但是如果你改变了其中某一个类的属性值,导致下面错误的发生,就是第二个模块,使用数据迁移的方式来将改变的类的结构同步到数据库里了。

errormsg:

The model backing the 'UsersInRolesContext' context has changed since the database was created. Consider using Code First Migrations to update the database (http://go.microsoft.com/fwlink/?LinkId=238269).


在【视图-其他窗口-程序包管理控制台】中直接输入Enable-Migrations命令之后,结果提示出现了多个可进行数据迁移的对象,则按照提示输入你改变了的结构对应的对象。在项目目录里会添加文件夹:Migration。打开此文件夹里的configuration.cs文件,将AutomaticMigrationsEnabled的值设置为true。AutomaticMigrationsEnabled的意思就是可以控制是否能通过程序包管理控制台来进行数据迁移。

设置完成后,输入Update-Database -Verbose来进行数据迁移。如果出现了Automatic migration was not applied because it would result in data loss,则输入命令Update-Database -Verbose -Force


另外附上视频一枚:数据迁移




  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值