1、EF简介
ADO.NET Entity Framework 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R Mapping) 解决方案。
该框架曾经为.NET Framework的一部分,但version 6之后从.NET Framework分离出来。

EF是微软开发的一款ORM框架。ORM框架能够自动实现Entity实体的属性与关系型数据库字段的映射,增删改查的sql脚本由ORM来
自动生成,使我们编码时不用考虑数据库数据结构,而是以操作实体对象的形式来完成与数据库的交互。
与传统开发方式相比ORM可以使我们编写更少的代码来创建和维护应用程序。

ef开发模式有多种:code first、database first。
本文只是介绍database first,想要了解其他一些开发模式,请自行网上查找资料。

2、database first
“Database First”模式顾名思义:“数据库优先”,使用这种模式的前提是应用程序已经拥有相应的数据库,
咱们可以使用EF设计工具由数据库生成数据模型类。

3、操作准备
(1)、本示例的开发环境是vs2012\sqlservel 2012
           当然选择别的开发环境、数据库同样也是可以的。
(2)、创建数据库、数据表
            第一、打开sqlserver数据库,新建一个数据库(database)并命名为:SchoolDB
            第二、创建数据表:T_Class
                           USE SchoolDB
                             GO
                            CREATE TABLE T_Class(
                                     ID int primary key  IDENTITY(1,1) NOT NULL,
                                     Name nvarchar(max) NOT NULL
                                )
             第三、创建数据表:T_Student
                        USE SchoolDB
                        GO
                         CREATE TABLE T_Student(
                         ID int primary key identity(1,1) NOT NULL,
                         Name nvarchar(max) NOT NULL,
                        ClassID int NOT NULL,
                        Phone nvarchar(max) NOT NULL,
                        Email nvarchar(max) NOT NULL,
                        FOREIGN KEY(ClassID) REFERENCES T_Class (ID)
                          )
             第四、创建数据表:T_Teacher
                     USE [SchoolDB]
                     GO

                     CREATE TABLE T_Teacher(
                            ID int PRIMARY KEY IDENTITY(1,1) NOT NULL,
                            Name nvarchar(max) NOT NULL,
                            Address nvarchar(max) NOT NULL,
                           Phone nvarchar(max) NOT NULL,
                           Email nvarchar(max) NOT NULL,
                           ClassID int NOT NULL,
                            FOREIGN KEY(ClassID) REFERENCES T_Class(ID)
                        )

4、利用EF,根据database first 原则生成实体类的步骤
第一步、打开vs2012 ,新建一个控制台应用程序,并名为:EFDatabaseFirstTest

             这里不再赘述,不会的网上查一下资料
第二步:创建实体模型
            在第一步创建的项目名称上右击, 添加“新建项”→Ado.Net实体数据模型
             命名为:Model1.edmx

如下图所示:

Entity Framework(EF)(一)之database first
第三步:与现有的数据库进行连接生成EF实体
在做这步之前,首先确定你是否已经有现有数据库
(1)、选择从数据库生成实体数据模型

            Entity Framework(EF)(一)之database first
(2)、新建连接到现有的数据库,

Entity Framework(EF)(一)之database first
(3)、点击下一步,选择我们要生成实体对应的表、试图、存储过程等,

Entity Framework(EF)(一)之database first
(4)、最后点击完成,则系统帮我们生成了数据库实体类以及EDMX的定义文件。
生成的文件目录如下图所示:

Entity Framework(EF)(一)之database first
到现在我们前期的准备工作就结束了,接下来我们将使用EF帮我们生成的数据库网关来操作数据库了

5、数据的增删改查操作
(1)、插入数据

      /// <summary>
        /// 向数据库插入一条学生信息
        /// </summary>
      public  bool AddStudent()
        {
            //创建数据库访问网关
            //SchoolDBEntities在配置文件中(App.config中)
            using (SchoolDBEntities schoolEntities = new SchoolDBEntities())
            {
                //创建student一个实体
                T_Student student = new T_Student()
                {
                    ClassID = 1,
                    Email = "405325966@qq.com",
                    Name = "张三",
                    Phone = "63339236",
                    T_Class = new T_Class() { ID = 1, Name = "一班" }
                };

                //将创建的实体,放入网关的数据实体的集合          
                schoolEntities.T_Student.Add(student);
                //写回数据库
              int k1=  schoolEntities.SaveChanges();
              return k1 > 0;
            }
        }
View Code

相关文章:

  • 2021-12-10
  • 2021-12-18
  • 2022-03-03
  • 2021-09-27
  • 2021-06-24
  • 2021-10-14
  • 2021-07-31
猜你喜欢
  • 2021-05-23
  • 2022-12-23
  • 2022-02-19
  • 2022-02-08
  • 2022-12-23
  • 2021-09-28
相关资源
相似解决方案