EF三种编程方式详细图文教程(C#+EF)之Database First

来源:互联网 发布:乌克兰危机 知乎 编辑:程序博客网 时间:2024/06/05 09:00

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 Program10     {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 => new17             {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 }
复制代码
复制代码

运行结果:

注意:如果你的数据库表结构发生改变后,只需在模型设计视图空白处右键,选择“从数据库更新模型”接着按照向导操作即可。(如下图)