欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

初探EntityFramework——来自数据库的EF设计器 有大用

本文通过简单的示例,先初步了解下EF四种设计模式之一:来自数据库的EF设计器。

来自数据库的EF设计器,顾名思义,需要有新建的数据库和表结构,才能生成EF设计器, 在本地新建数据库KTStore,并且新建表Produtc,表结构及表中的数据如下图所示:

                                        

 


新建新的控制台应用程序:EFDemo,如下图所示:

                           

 

右键项目,选择“添加”,然后是“新建项”,如下图所示:

                          

 

 

在对话框中选择“ADO.NET”实体数据模型,如下图所示: 

 

单击“添加”后,在弹出的窗口中,选择“来自数据库的EF设计器”,如下图所示:

                            

 

点击下一步后,点击“新建连接” :

                              

 

点击“更改” :

                              

 

根据实际情况选择要连接数据库还是数据库文件,我选的是数据库:

                                   

 

填写数据库连接数据,如下图所示: 

                                  

 

然后点击“测试连接”,如下图所示:

                                

 

点击“确定”后,显示出如下对话框,可以看到自动生成了连接字符串:

                                

 

然后根据实际情况,选择是否显示连接字符串中的敏感信息,如账号密码什么的,我这边为了方便查看选择显示:

                                

 

点击“下一步”,选择“实体框架6.x”,如下图所示:

                                  

 

点击“下一步”,在弹出的窗口中选择需要加入的表,如下图所示,选择Product表,并点击“完成”按钮即可。

                                  

 

完成后,可以看到,解决方案中增加了一些文件和DLL,这些都是EF框架自动生成的,如下图所示 :

                                 

 

回到Program.cs界面增加如下代码:

  1. namespace EFDemo
  2. {
  3. class Program
  4. {
  5. static void Main(string[] args)
  6. {
  7. KTStoreEntities db = new KTStoreEntities();
  8. Console.WriteLine("商品数据项数:{0}\n", db.Product.Count());
  9. IEnumerable<Product> rows = db.Product.Select(x => x);
  10. foreach (Product p in rows)
  11. {
  12. int id = p.Id;
  13. string name = p.Name;
  14. int? price = p.Price;
  15. string category = p.Category;
  16. Console.Write("{3}\t 定价:{2}\t{0}\t{1}\n",id,name,price,category);
  17. }
  18. Console.Read();
  19. }
  20. }
  21. }

运行程序,EF框架自动从数据库获取数据并显示,结果如下图所示:

 

 

 来自  https://blog.csdn.net/xuchen_wang/article/details/98172142


普通分类: