EntityFramwork基础用法

一、EntityFramework(简称“EF”)是什么?

    在.NET3.5之前,我们经常编写ADO.NET代码或通过封装好的数据库访问层来与数据库进行交互,进行CRUD操作。这种模式下,我们往往需要手写大量的SQL语句,不但麻烦而且容易出错。在这种背景下,后来微软发布了EntityFramework框架。

    EF是一种开源的ORM框架,适合.Net开发,用领域对象(Domain Object)来处理数据,而不需要关注具体的数据库中表和列。

    EF框架的开发模式主要包括两种DBFirst和CodeFirst,一种是基于已有的数据库进行开发,一种是基于类生成数据库进行开发。本文我们主要和大家一起学习下DBFirst模式。

二、EF架构组成

EntityFramwork基础用法

       1、EDM(实体数据模型): EDM包含三个主要部分——概念模型,映射和存储模型。

    概念模型(entity): 概念模型包含了模型类和它们之间的关系。 这将是独立于数据库表设计。

    存储模型(data): 存储模型是数据库设计模型,包括表、视图、存储过程、以及它们之间的关系和钥匙。

    映射(mapping): 映射由概念模型如何映射到存储模型的信息组成。

  2、LINQ To Entity(L2E): L2E是一种的查询实体对象的语言, 它返回在概念模型中定义的实体。 

  3、Entity SQL: Entity SQL是一个类似于L2E的查询语言。 然而,它比L2E更加复杂。

  4、Object Services(对象服务):对象服务是访问数据库中的数据并返回数据的主要入口点。它负责数据实例化,把Entity Client Data Provider(下一层)的数据转换成实体对象。

  5、Entity Client Data Provider:主要职责是将L2E或Entity Sql转换成数据库可以识别的Sql查询语句,它通过ADO.Net Data Provider向数据库发送或者索取数据。

  6、ADO.Net Data Provider:使用标准的Ado.net与数据库通信。

三、实战——基础用法

1.创建web项目

EntityFramwork基础用法

 

 2.基于现有数据库添加模型

1)选择ADO.NET数据模型

EntityFramwork基础用法

 2)选择来自数据库的EF设计器

 

EntityFramwork基础用法

 3)新建数据库连接信息(服务器,数据库,用户名和密码)

 

EntityFramwork基础用法

4)选择你需要的数据表,视图或存储过程

 

EntityFramwork基础用法

 

完成以上操作后,点击完成,EF框架会自动帮你在项目中创建已.edmx为后缀的文件。该文件下包含一个继承DbContext类的上下文实例(DbContext是实体类和数据库之间的桥梁)和基于数据库创建的实体模型。

EntityFramwork基础用法

 

 另外,在项目的web.config文件中自动帮我们生成的链接字符串,大家不要轻易去改动,否则会引起报错。

<connectionStrings> <add name="ConnectionString" connectionString="metadata=res://*/EntityDomainModel.csdl|res://*/EntityDomainModel.ssdl|res://*/EntityDomainModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=.;initial catalog=TEST;persist security info=True;user id=sa;password=123456;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" /> </connectionStrings>

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpdfxf.html