八:MVC初始化数据库
生成数据库策略:
CreateDatabaseIfNotExists:方法会在没有数据库时创建一个,这是默认行为。
DropCreateDatabaseIfModelChanges:如果我们在在模型改变时,自动重新创建一个新的数据库,就可以用这个方法。在这开发过程中非常有用。
DropCreateDatabaseAlways:如果你想在每次运行时都重新生成数据库就可以用这个方法。
数据库初始化 和上一篇创建项目差不多, 最主要的是在这里加上 Database.SetInitializer(new DropCreateDatabaseIfModelChanges<AmContext>());
假如说 要在初始化的时候添加一些数据
创建一个类,继承 DropCreateDatabaseIfModelChanges<AmContext>() --AmContext 数据库上下文类
重新方法 输入 override seed 就可以看见了
因为DropCreateDatabaseIfModelChanges<AmContext>() 的意思是数据模型发生改变,所以我们要改变数据模型
我重新在movie中添加一个qq的属性
由于我们 创建了一个类,来继承了DropCreateDatabaseIfModelChanges<AmContext>()
所以实例化这个类就行了
我们的数据库是这样的
运行 发现报错
我们把数据库展开的内容全部关闭
全部收缩,在运行一次
假如 还是报错的话 把焦点从数据库中一移开,或者刷新
显示出来了
数据库也更新了
在这里 要注意几点
外键也成功绑定
在这里 假如说 你创建的表面 不要 s
我在重新添加movie 一个属性 email ,让数据库模型发生改变
这就是 使数据库初始化,并且消除复数形式表名的方法,下一次我介绍mvc的主从表查询
最新文章
- 【原创】如何在Android Studio下调试原生安卓Framework层面的源代码
- C++之虚函数和多态
- _.属性和self.属性,我遇到的那些坑
- Unity3d游戏场景优化杂谈(2)
- java读取properties配置文件总结
- XMLHTTPRequest/Ajax请求 和普通请求的区别
- git -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree fetch origin
- 【转】bShare分享插件的使用
- Qt之QPropertyAnimation
- 某种数列问题 (jx.cpp/c/pas) 1000MS 256MB
- 条款22 template method 模式
- 让 Putty 保存密码,自动登陆的四种方法
- Socket 错误总结
- XML约束
- pyqt 动态显示时间方法例子学习
- 我为什么放弃Go语言
- Yii/Yii2:查询返回以某特定列为索引(键)的数组
- SSH应用实战——安全防护(fail2ban)
- cmake: error: symbol(s) not found for architecture x86_64 mac os 使用boost asio
- Google词向量word2vec的使用