初探EntityFramework——来自数据库的Code First
Entity Framkwork從第二版(EF4)開始,支持新的CodeFirst模式(程序代碼優(yōu)先),以自定義類定義數(shù)據(jù)模型。簡化了EF的開發(fā)過程。本文章使用簡單的示例來說明如何使用來自數(shù)據(jù)庫的CodeFirst模式。
新建一個空的控制臺應(yīng)用程序,?名叫CodeFirstDemo,如下圖所示:
? ? ? ? ? ? ? ? ? ? ? ? ? ??
?
?右擊項目,在彈出的對話框中選擇“新建項”,然后“添加”,如下圖所示:
? ? ? ? ? ? ? ? ? ? ? ? ?
?
?
?
在界面中選擇“ADO.NET實體數(shù)據(jù)模型”,并且命名為KTStoreModel,如下圖所示:
?
然后選擇“來自數(shù)據(jù)庫的CodeFirst”,如下圖所示:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
?
點擊“下一步”,可以看到數(shù)據(jù)庫連接向?qū)Ы缑?#xff0c;因為我之前已經(jīng)連接過數(shù)據(jù)庫,界面中變保留了以前的設(shè)置。我不需要新建連接,所以采用原來的設(shè)置即可。為了能夠直觀的看到連接字符串,我選擇在連接字符串中包含敏感字符串。如下圖所示:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
?
點擊下一步后,在數(shù)據(jù)庫中的連接對象,?如下圖所示:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
?
點擊“完成”后,在解決方案中,可以看到,除了必要的EntityFramework引用外,與EF Designer(設(shè)計器)相比,采用CodeFirst的模型內(nèi)容只有定義模型的Product.cs 和KTStoreModel.cs兩個類文件,如下圖所示:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
?
在App.config問價中可以看到,設(shè)置的數(shù)據(jù)庫連接字符串,如下圖所示:
?
在Program.cs中加入代碼,如下圖所示:
class Program{static void Main(string[] args){KTStoreModel db = new KTStoreModel();Console.WriteLine("商品項目數(shù)為:{0}", db.Product.Count());foreach (Product p in db.Product){int id = p.Id;string name = p.Name;string category = p.Category;int price = p.Price;Console.WriteLine("{0}\t{1}\t{2}\t{3}\n",id,name,category,price);}Console.ReadKey();}}?
運(yùn)行程序,如下圖所示:
? ? ? ? ? ? ??
?
CodeFirst大幅度簡化了EF架構(gòu),通過自定義的類文件即可完成數(shù)據(jù)對象的映射與底層數(shù)據(jù)的存取工作,不在需要EDM相關(guān)文件。對于大型的在線開發(fā)特別有利。因此推薦以CodeFirst為主要開發(fā)模式。?
?
?
總結(jié)
以上是生活随笔為你收集整理的初探EntityFramework——来自数据库的Code First的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: redis知识归纳
- 下一篇: SQL Server和MysQL中的联表