开始学习EF,从网上找了好多,都不是自己想要的,于是边学边把自己学习的过程写下来,以供参考。
操作环境:VS2013+SQLServer2012
Entity Framework4.1之前EF支持“Database First”和“Model First”编程方式,从EF4.1开始EF开始支持支持“Code First”编程方式,今天简单看一下EF三种编程方式。
开始介绍这三种EF操作方式之前,首先在Visual Studio 2013中建立一个数据库连接,这里我们以“EFDemo”数据库为例:
说明:在这里我用的是Lenovo\SQLEXPRESS这个数据库,当然用localdb也可以。
Database First
“Database First”模式我们称之为“数据库优先”,前提是你的应用已经有相应的数据库,你可以使用EF设计工具根据数据库生成数据数据类,你可以使用Visual Studio模型设计器修改这些模型之间对应关系。
首先创建一个控制台应用程序,然后右键添加新建项,选择“ADO.NET Entity Data Model”,名称输入EFDemoDB:
接着选择从数据库生成:
下一步选择数据库连接,选择我们刚刚建的EFDemo数据库。
下拉框里没有,我们点击新建连接
然后选择表
创建完模型之后
你会发现Visual Studio自动为你生成了“Class、“Student”两个实体类和一个“EFDemoDB”数据库上下文操作类:
下面简单的看一下如何使用EF进行数据查询,通过下面的代码我们可以看到EF对于数据的操作入多么优雅:
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace EFDemo 8 { 9 class Program 10 { 11 static void Main(string[] args) 12 { 13 EFDemoEntities db = new EFDemoEntities(); 14 15 //按照ID排序,并查找 16 var model = db.Classes.OrderBy(m => m.ID).Select(m => new 17 { 18 ID = m.ID, 19 Name = m.Name 20 }); 21 22 23 if(model.Count() > 0) 24 { 25 Console.WriteLine("ID号:{0}", model.First().ID); 26 Console.WriteLine("班级名:{0}", model.First().Name); 27 } 28 } 29 } 30 }
运行结果:
注意:如果你的数据库表结构发生改变后,只需在模型设计视图空白处右键,选择“从数据库更新模型”接着按照向导操作即可。(如下图)
本文大部分取自崔江涛(KenshinCui),写的博客