EF三种编程方式的区别Database first ,Model first ,code first

首先对于EF中先出现的datebase  first和model first两种编程方式,其的区别根据字面意思很容易能够理解。

datebase  first就是代表数据库优先,那么前提就是先创建数据库。

model first就是代表model优先,那么前提也就是先创建model,然后根据model自动建立数据库。

这两EF的编程方式在使用的过程中的区别为:

在添加ADO.NET实体数据模型的时候,database  first选择的是从数据库生成。

 并且在数据结构发生变化的时候,database  first编程方式中是选择从数据库更新模型,因此就导致了database  first是以数据库为主

 

而Model  first选择的是空模型生成。

 

并且当数据结构发生变化的时候,model  first选择的是从模型生成数据库。

所以这两种不同的方式就导致了   database  first和Mode  first的区别。

 

至于最后一个code  first就是不需要创建一个ADO.NET实体模型的过程。直接在model里面写实体类和dbcontext上下文类。

但是在实际的过程中,如果dbcontext上下文类中如果没有添加  

去除复数的约束

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();  
}

 那么在使用code  first的时候就会创建一个复数名的数据库。

 

posted @ 2017-03-02 12:09  宇文雅昕  阅读(8407)  评论(0编辑  收藏  举报