数据库的初始化与控制
来源:互联网 发布:内存优化表的缺点 编辑:程序博客网 时间:2024/05/19 12:28
初始化包括两个主要步骤。首先,使用Code First在内存中根据默认规则和配置创建模型。其次,使用已设置的数据库初始化器将用于存储数据的数据库初始化。
初始化是延迟加载的,所以创建一个实例的是不完全满足初始化发生的条件的。必须执行对模型的操作,如查询或添加实体才会发生。
但我们可以可以调用DbContext.Database.Initialize方法,在没有对模型执行任何操作的时候强制初始化。
有三个方法可以控制数据库初始化时的行为。
1 CreateDatabaseIfNotExists
CreateDatabaseIfNotExists方法会在没有数据库时创建一个,这是默认行为。
Database.SetInitializer(
new CreateDatabaseIfNotExists<BreakAwayContext>());
using (var context = new BreakAwayContext())
{
context.Database.Initialize(true);
}
2 DropCreateDatabaseIfModelChanges
如果我们在在模型改变时,自动重新创建一个新的数据库,就可以用这个方法。在这开发过程中非常有用。
Database.SetInitializer(
new DropCreateDatabaseIfModelChanges<BreakAwayContext>());
using (var context = new BreakAwayContext())
{
context.Database.Initialize(true);
}
3 DropCreateDatabaseAlways
如果你想在每次运行时都重新生成数据库就可以用这个方法。
Database.SetInitializer(
new DropCreateDatabaseAlways<BreakAwayContext>());
using (var context = new BreakAwayContext())
{
context.Database.Initialize(true);
}
- 数据库的初始化与控制
- 数据库的版本控制与代码版本控制的区别
- 深入解析oracle——控制文件与数据库初始化(2)!
- *linux下数据库的访问与控制*
- 数据库流程与控制
- openLDAP的数据库初始化
- Java数组初始化与内存控制
- (1)疯狂java:数据与内存的控制____数组初始化__1.1.2 数组一定要初始化吗
- Java 对象中变量属性的初始化时机与内存控制
- 关系数据库的事务隔离、锁定与并发控制
- 数据库事务处理的艺术:事务管理与并发控制---书序
- 类的初始化与对象的初始化
- 关于控制初始化次数的问题
- S3C2440 初始化SDRAM的控制寄存器分析
- 静态局部变量初始化次数的控制
- 数据库开发的初始化设置
- 数据库开发的初始化设置
- Oracle数据库初始化的注意事项
- poj1591
- .net事件和委托的解析
- 使用lockbits方法处理图像(转)
- AMBA概述
- 【php】在php中随机生成一连串数字的函数
- 数据库的初始化与控制
- CS4700计算机网络 上课笔记
- Spring3.x 的命名空间导入 持续更新ing..
- 为什么计算机时间要从1970年1月1日开始算起?
- 帧率、码流与分辩率之间关系
- [LeetCode] Container With Most Water
- Google搜索语法
- HDU 1214 圆桌会议
- 抽象类和接口(备忘)