EF使用CodeFirst建立資料庫和表

2022-02-14 13:50:50 字數 1232 閱讀 3683

ef支援三種實體模型:code first,model first和db first,分別表示**優先,模型優先和資料庫優先。目前就個人來說使用codefirst最多,對此相對比較熟悉,先寫下code first的使用吧。

那什麼是code first**優先呢?通俗來說,就是先寫好**,建立好模型,程式設計師只需關注物件間的關係,即可在資料庫生成相應的表,基本上做到了與資料庫的完全分離。為啥說基本上呢,其實是有道理的。

那code first有什麼優點呢?我們為什麼要用它?

(1)如上面所說,程式設計師不需要關心資料庫裡面的情況,只需處理好類和物件的關係就好,其餘的事情不用咱們管了。

(2)應該是便於測試吧,因為使用dbfirst的話會生成edmx檔案,它與資料庫繫結性較強,個人覺得略麻煩。

(3)微軟主推codefirst吧,這應該算是乙個不錯的工具。

那麼接下來咱試試看!

1、先建立乙個專案,啥都行,我習慣性的弄了乙個控制台,先新增乙個資料夾,再右鍵新增--新建項,選擇ado.net實體資料模型,為專案命名,點選新增。

2、在實體資料模型嚮導中選擇空的codefirst模型,官方也給出了說明,可以生成資料庫。

3、系統會自動生成乙個類,注意,我們需要自動生成的模型都需要繼承自dbcontext,可以看到,微軟已經給了我們很多提示了,比如:我們需要自己配置連線資料庫的字串;我們要建立的類都需要在myentity實體類中新增dbset。不得不說微軟在這些地方做的還是很不錯的,一目了然!

4、然後我新建了兩個類,userinfo和roles。這裡需要根據提示引入相應的命名空間。並且需要用key為自己的表指定主鍵,用table為類指定表名,stringlength為字段定義長度.........

這時需要按照微軟提供的模板將這兩個類新增到dbset。這裡的「name=myentity」表示使用名字為myentity的字串連線資料庫,如果只寫"myentity"的話,表示直接建立名字為myentity的資料庫。

5、接下來就可以擼一段**了。

到這裡即將資訊輸入完成了,但是還差一步,細心的小夥伴應該想到了,都沒有資料庫,這新增到哪去啊。因此下面這一步也是不可少的。

點選執行後就會生成相應的資料庫還有表啦。

表已經生成了,資料也新增進去了。

通過上面的例子可以看到,使用空的codefirst模型設計資料庫是很方便的,我們不需要關注資料庫的使用方法,只需按照套路建實體類,宣告字段,然後操作其物件,就可以生成資料庫和表啦。因此這種方式是很適合資料庫的遷移的,只需把程式拷到另一台電腦上執行一下就ok了。

EF使用CodeFirst建立資料庫和表

ef支援三種實體模型 code first,model first和db first,分別表示 優先,模型優先和資料庫優先。目前就個人來說使用codefirst最多,對此相對比較熟悉,先寫下code first的使用吧。那什麼是code first 優先呢?通俗來說,就是先寫好 建立好模型,程式設計...

EF框架之CodeFirst建立資料庫

codefirst 是entity framework4.1 後新增的一種生成模式 在這種方式下 你不需要在 dbms 中建立資料庫 也無需在 vs中畫實體模型了 你要做的僅僅是寫寫 即可由 orm框架自動建立模型和資料庫 非常的方便和簡單 由於開發人員只是編寫 不關心資料庫的具體結構 因此也有人把...

EF 的 code first 資料遷移

當開發過程中,由類生成了資料庫。但是,在後續的開發過程,要更改某個資料庫的表的列或是增加乙個資料表的時候。ef6.0的操作分別為 為類新增列 比如 cuser 類有name adress兩列。現在需要新增 school一列。使用code first 進行 遷移 migration,步驟如下 1 在v...