EF框架概述之Code First

2021-08-20 06:29:58 字數 2901 閱讀 2165

簡介

code first的模型最早是從ef 4開始的永存無知模型,它最主要的目的是要讓程式設計師通過程式**的方式來定義資料結構,沒有特別的的gui工具,並且以fluentapi的風格來設計api,降低程式設計師使用api的門坎,因此code first的api並不難,不過還是要有些資料庫的相關概念,否則api再好用也不知道為何而用。

生成模型——空白code first的做法

與database first和model first一樣,可以通過新增ado.net實體資料模型來生成模型,不過這次選擇的是「空白的code first模型」,如下圖:

新增完成後,visual studio會開啟生成好的code first程式**,正如code first其名,定義的規則全部由程式**處理,所以這也意味著使用code first方式進行建模時,可以直接使用類的程式**,而不需一定要用ado.net實體資料模型的方式產生。如下圖:

修改目的和方式修改目的

修改方式

變更資料庫型別修改的設定

1.資料庫型別為sql server(非localdb)

2.資料庫型別為sql server compact

3.資料庫型別為sql server express localdb

4.資料庫型別為非sql server請參照資料庫連線軟體的檔案說明修改內的連線字串

變更資料庫名稱或連線賬戶修改內的連線字串

1.code first的連線字串

2.database first/model first的連線字串

provider connection string="data source=(localdb)\v11.0;initial catalog=blogs;integrated security=true;multipleactiveresultsets=true;"" providername="system.data.entityclient" />

code first的模型定義是使用程式**,基本上所有的設定方式都是通過api的呼叫來進行的,但其實生成出來的程式**已經可以使用,如下圖:

然後在主程式中編寫下列程式**,當它執行完成時就可以看到資料庫了,如下圖:

生成模型——由資料庫生成

若是現有資料庫要生成code first模型,方法也很簡單,只要在ado.net實體資料模型嚮導中選擇「來自資料庫的code first模型」選項,其他的操作和database first的模型產生步驟相同。不過,要注意的是,code first的模型生成曲面沒有支援儲存過程和函式,所以在選擇生成的資料庫物件的螢幕顯示畫面內看不到儲存過程和函式,如下圖:

未完待續。。。

EF框架概述

1.概念 微軟基於ado.net開發的orm框架,解決了物件持久化問題 2.分類 a model first 模型優先 b code first 優先 c db frist 資料優先 3.優點 1.簡潔的linq to sql語句大大提高了開發人員的效率,不要再寫複雜的sql語句 2.不再需要再管應...

EF實體框架之CodeFirst一

上面瞎逼逼半天,實際上今天是想大致演示下code first的用法,做簡單的增刪改查。一 model 首先是建立了乙個控制台應用程式efcodefirstdemo,又建立了乙個存放model的類庫efcodefirstmodels,以及乙個與資料庫有關係的類庫efcodefirstdataacces...

EF實體框架之CodeFirst八

前面七篇基本把code first學習了一下,不過code first中會出現乙個問題,就是資料遷移的問題。一 資料準備 還是在前面的demo上修改,這次使用province和city類。public class province public string provincename public ...