上篇博客中已簡(jiǎn)單的介紹了EF的概念,這里就不多介紹了,接著學(xué)習(xí)下面的知識(shí)。
1,EF的3種類型
1.DBFirst:其實(shí)就是先創(chuàng)建數(shù)據(jù)庫(kù),然后再映照到實(shí)體模型中。
上篇博客對(duì)DBFirst的操作已介紹過了:EF框架基礎(chǔ)(1)
2.CodeFirst:是我們常常用到的,先創(chuàng)建實(shí)體模型再映照到數(shù)據(jù)庫(kù)中。下面詳細(xì)介紹1下:
(1)在VS中創(chuàng)建實(shí)體數(shù)據(jù)模型空模型,設(shè)計(jì)實(shí)體。如圖:
(2)創(chuàng)建完成以后,點(diǎn)擊實(shí)體模型空白處,右擊根據(jù)模型生成數(shù)據(jù)庫(kù)。如圖:
(3)點(diǎn)擊以后,就會(huì)出現(xiàn)如圖所示:
(4)填寫完成后,點(diǎn)擊肯定,出現(xiàn)如圖:
(5)點(diǎn)擊完成,這時(shí)候就會(huì)在VS中多出1個(gè)SQL腳本。如圖:
(6)打開SQL腳本,右擊履行。
完成以后,打開SQL Server,就會(huì)發(fā)現(xiàn)多出1個(gè)數(shù)據(jù)庫(kù)。
3.CodeFirst:代碼履行。用代碼映照到數(shù)據(jù)庫(kù)。(目前正在學(xué)習(xí),將在下篇博客顯現(xiàn))。
2,更改數(shù)據(jù)庫(kù)字段方法
1般,寫程序都會(huì)增加新的需求,這時(shí)候可能數(shù)據(jù)庫(kù)中的字段不滿足需求,這就需要進(jìn)行添加或修改。1般 有兩種方法:
(1)修改實(shí)體模型中的屬性,然后依照上面ModelFirst的步驟,右擊從實(shí)體模型更新到數(shù)據(jù)庫(kù)。
(2)修改數(shù)據(jù)庫(kù)中的字段,修改完成后,在VS的實(shí)體模型空白處,右擊,選擇從數(shù)據(jù)庫(kù)更新模型。
這里需要注意的是:從實(shí)體模型中修改屬性更新到數(shù)據(jù)庫(kù),有1個(gè)缺點(diǎn)就是更新完成以后數(shù)據(jù)庫(kù)中的數(shù)據(jù)就會(huì)消失。
ModelFirst和CodeFirst都更是接近面向?qū)ο笏枷耄皇敲嫦?a href="http://www.vxbq.cn/db/" target="_blank">數(shù)據(jù)庫(kù)。在CodeFirst和ModelFirst中通常我們選 擇ModelFirst,由于這樣可以免我們手工寫很多POCO類和映照關(guān)系。