【转】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的時候就會創建一個復數名的數據庫。
?
總結
以上是生活随笔為你收集整理的【转】EF三种编程方式的区别Database first ,Model first ,code first的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 春节信用卡逾期还款后果
- 下一篇: Sharepoin学习笔记—架构系列—0