初探EntityFramework——空EF设计器模型
如果沒有任何現(xiàn)存數(shù)據(jù)庫架構(gòu),可以使用空的EF設(shè)計器模型。本文將通過簡單示例,了解如何使用空EF設(shè)計器模型。
?
新建空的控制器應(yīng)用程序EFDesignerDemo,如下圖所示:
?
在項目中右鍵,選擇“添加”,然后是“新建項”,如下圖所示:
? ? ? ? ? ? ? ? ? ? ? ?
?
然后選擇“ADO.NET實(shí)體數(shù)據(jù)模型”,如下圖所示:?
?
?點(diǎn)擊添加后,選擇“空EF設(shè)計器模式”,如下圖所示:
? ? ? ? ? ? ? ? ? ? ? ? ? ?
?
點(diǎn)擊“確定”后,顯示的界面如下圖所示:
?
?
點(diǎn)擊上圖中的“工具箱”,在彈出的框中選擇“實(shí)體”,并拖到主界面上,如下圖所示:
?
修改實(shí)體類名稱“Entity1”為“MyProduct”,并且在“屬性”名稱上右擊,在彈出的快捷鍵菜單中單擊“新增”選項,展開子菜單,再單擊“標(biāo)量屬性”選項,將屬性添加到實(shí)體對象中,如下圖所示:
? ? ? ? ? ? ? ? ? ? ? ?
?
可以在屬性列表中,修改屬性字段的類型,如下圖所示:
?
右鍵單擊空白處,在彈出的快捷菜單中單擊“添加代碼生成項”,如下圖所示:?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
?
?
在彈出的界面中選擇“EF6xDbContext生成器”,如下圖所示:
?
在解決方案中,也可以看到增加了如下文件:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ???
?
?
再次在空白處點(diǎn)擊右鍵,在彈出的列表中選擇“根據(jù)模型生成數(shù)據(jù)庫”,如下圖所示:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
?
彈出的界面是上次數(shù)據(jù)庫設(shè)置的信息,如果之前沒有任何設(shè)置,這個界面將顯示空白,我這里不新建數(shù)據(jù)庫,采用上一篇文章中的數(shù)據(jù)庫和鏈接字符串,所以我不需要“新建連接”,并且,為了方便查看連接字符串,因此,我在連接中包括了敏感數(shù)據(jù),如下圖所示:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
?
點(diǎn)擊“下一步”,可以看到EF框架自動生成了SQL語句,如下圖所示:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ???
?
點(diǎn)擊“完成”后,可以看到以上自動生成的SQL語句存儲在KTStoreModel.edmx.sql文件中,內(nèi)容則對應(yīng)建立的實(shí)體對象結(jié)構(gòu),如下圖所示:
?
右鍵點(diǎn)擊SQL文件空白處,在彈出的框中選擇“執(zhí)行”如下圖所示:
? ? ? ? ? ???
?
輸入數(shù)據(jù)庫連接的參數(shù),如下圖所示:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ???
?
?
點(diǎn)擊“連接”,后可以看到,如下提示:
? ? ? ? ? ? ? ? ? ? ? ? ? ??
?
可以看到,在SqlSever中,已經(jīng)生成了MyProduct表,但是EF默認(rèn)加了Set后綴。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
?
為了測試運(yùn)行,我們將表中導(dǎo)入一些數(shù)據(jù),并在Program.cs中添加代碼,如下圖所示:
class Program{static void Main(string[] args){KTStoreModelContainer db = new KTStoreModelContainer();Console.WriteLine("商品項目數(shù):{0}",db.MyProudctSet.Count());foreach (MyProudct p in db.MyProudctSet){int id = p.Id;string name = p.Name;string categroy = p.Categroy;int price = p.Price;Console.WriteLine("{0}\t{1}\t{2}\t{3}",p.Id,p.Name,p.Categroy,p.Price);}Console.Read();}}運(yùn)行程序,EF框架自動從數(shù)據(jù)庫中獲取數(shù)據(jù)并顯示,如下圖所示:
?
?
?
總結(jié)
以上是生活随笔為你收集整理的初探EntityFramework——空EF设计器模型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 统计学(可汗学院视频62-81集笔记)
- 下一篇: linux常用特殊符号