Entity Framework 数据库初始化四种策略

策略一:数据库不存在时重新创建数据库

1 Database.SetInitializer<testContext>(new CreateDatabaseIfNotExists<testContext>());

策略二:每次启动应用程序时创建数据库

1 Database.SetInitializer<testContext>(new DropCreateDatabaseAlways<testContext>());

策略三:模型更改时重新创建数据库

1 Database.SetInitializer<testContext>(new DropCreateDatabaseIfModelChanges<testContext>());

策略四:从不创建数据库

1 Database.SetInitializer<testContext>(null);

Entity Framework数据库初始化示例

 1 using System.Data.Entity;
 2 using System.Data.Entity.Infrastructure;
 3 using Web.Models.Mapping;
 4
 5 namespace Web.Models
 6 {
 7     public class testContext : DbContext
 8     {
 9         static testContext()
10         {
11             Database.SetInitializer<testContext>(null);
12         }
13
14         public testContext()
15             : base("Name=testContext")
16         {
17         }
18
19         public DbSet<Person> People { get; set; }
20
21         protected override void OnModelCreating(DbModelBuilder modelBuilder)
22         {
23             modelBuilder.Configurations.Add(new PersonMap());
24         }
25     }
26 }
时间: 2024-08-28 03:53:25

Entity Framework 数据库初始化四种策略的相关文章

Entity Framework数据库初始化四种策略

策略一:数据库不存在时重新创建数据库 复制内容到剪贴板 程序代码 Database.SetInitializer<testContext>(new CreateDatabaseIfNotExists<testContext>()); 策略二:每次启动应用程序时创建数据库 复制内容到剪贴板 程序代码 Database.SetInitializer<testContext>(new DropCreateDatabaseAlways<testContext>())

Entity Framework数据库初始化

public class ApplicationContext : DbContext { public DbSet<User> Users { get; set; } public ApplicationContext() : base("ApplicationConnection") { //Database.Create(); Database.SetInitializer(new SystemInitializer()); } } public class Syst

数据库的四种操纵方法——增、删、改、查

数据库的四种操纵方法——增.删.改.查 增——一种可视化增加就是在设计页面右键点开已经存在的表 进行内容的增加. 另一种是在查询页面,创建查询在代码界面进行代码添加.书写形式:insert into xxx(zzz,ccc)values('aaa','sss')——insert是插入的意思,into是进哪去,xxx代表要插入的表名,zzz,ccc表示表内的列名,values的意思是‘值’,后面的xxx和ccc是插入所内容的列名.总体的意思就是:在xxx表内的zzz列和ccc列插入aaa和sss

C#连接Oracle数据库的四种方法

C#连接数据库的四种方法 在进行以下连接数据库之前,请先在本地安装好Oracle Client,同时本次测试System.Data的版本为:2.0.0.0. 在安装Oracle Client上请注意,如果OS是3-BIT请安装32-BIT的Oracle Client,但OS是64-BIT,需要根据实际情况安装,如果你的APP是按32-BIT运行的,则需要安装32-BIT客户端,如果是按64位运行的,则安装64位客户端,而不是OS是64-BIT的,就要安装64-BIT的ORACLE客户端.   本

asp.net mvc entity framework 数据库 练习(一)

本文启发的思路来源于asp.net mvc 6 的entity framework,微软MSDN中的官方项目contoso university 虚构的数据库 原文链接如下: https://docs.microsoft.com/en-us/aspnet/mvc/overview/getting-started/getting-started-with-ef-using-mvc/creating-an-entity-framework-data-model-for-an-asp-net-mvc-

数据库的四种隔离级别

一.事务的概念 一个事务中的一系列的操作要么全部成功,要么一个都不做. 事务的结束有两种,当事务中的所有步骤全部成功执行时,事务提交.如果其中一个步骤失败,将发生回滚操作,撤消该事务已执行的操作. 二.事务的特性 ACID 事务具有四个特征:原子性( Atomicity ).一致性( Consistency ).隔离性( Isolation )和持续性( Durability ),简称为 ACID 特性. 三.多事务并发执行的问题 脏读(Drity Read):某个事务已更新一份数据,另一个事务

Entity Framework 6 暂停重试执行策略

EF6引入一个弹性连接的功能,也就是允许重新尝试执行失败的数据库操作.某些复杂的场景中,可能需要启用或停用重试执行的策略,但是EF框架暂时尚未提供直接的设置开关,将来可能会加入这种配置.幸运的是,很容易自己实现该设置功能. 最简单的注册执行策略的方法是通过基于代码的配置.下面代码是一个典型的配置类,启用SqlAzureExecutionStrategy策略(允许重试执行SQL Azure中已知的可重试异常). 1 using System.Data.Entity; 2 using System.

数据库的四种语言(DDL、DML、DCL、TCL)

1.DDL (Data Definition Language )数据库定义语言 statements are used to define the database structure or schema. DDL是SQL语言的四大功能之一.用于定义数据库的三级结构,包括外模式.概念模式.内模式及其相互之间的映像,定义数据的完整性.安全控制等约束DDL不需要commit. CREATE ALTER DROP TRUNCATE COMMENT RENAME 2.DML (Data Manipul

数据库的四种隔离级别和事务的四特性

数据库事务的四大特性: 事务(Transaction)是并发控制的基本单位.所谓事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位.例如,银行转帐工作:从一个帐号扣款并使另一个帐号增款,这两个操作要么都执行,要么都不执行. 1.数据库事务必须具备ACID特性,ACID是Atomic(原子性).Consistency(一致性).Isolation(隔离性)和Durability(持久性)的英文缩写. 1)原子性(Atomicity) 一个事务(transactio