EF使用CodeFirst创建数据库和表
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、接下來就可以擼一段代碼了。
到這里即將信息輸入完成了,但是還差一步,細心的小伙伴應該想到了,都沒有數據庫,這添加到哪去啊。因此下面這一步也是不可少的。
6、在App.Config中,有一個名字為MyEntity的配置字符串,這里我們需要修改成我們想要的服務器名稱、數據庫名和登錄信息。
點擊運行后就會生成相應的數據庫還有表啦。
表已經生成了,數據也添加進去了。
通過上面的例子可以看到,使用空的CodeFirst模型設計數據庫是很方便的,我們不需要關注數據庫的使用方法,只需按照套路建實體類,聲明字段,然后操作其對象,就可以生成數據庫和表啦。因此這種方式是很適合數據庫的遷移的,只需把程序拷到另一臺電腦上運行一下就OK了。
總結
以上是生活随笔為你收集整理的EF使用CodeFirst创建数据库和表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 麒麟系统安装打印机共享_银河麒麟 惠普打
- 下一篇: absolute元素在text-alig