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的時候就會創建一個復數名的數據庫。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM