EF框架中重要文件后缀.edmx实体数据模型文件。entity data model.tt模板文件生成模型、上下文等使用的模板文件。 template.Context.cs实体上下文数据库上下文。 相当于一个数据库实例通过实例拿到DbSet,DbSet相当于一张表中的数据。连接字符串在数据库上下文对象的构造函数中。 database set数据库集》数据库包含很多对象的集合很多表很多视图很多存储过程等 DataSet数据集内存中的数据集可以有很多表.cs模型类文件实体类领域模型 Domain Model。 相当于数据库中的表结构。导航属性外键关系。实体框架https://blog.csdn.net/2302_77639120/article/details/142082970https://www.cnblogs.com/wyy1234/p/9650759.htmlhttps://learn.microsoft.com/zh-cn/ef/ef6/EF三种使用方式对比https://www.cnblogs.com/wfy680/p/11969505.html代码优先https://download.csdn.net/blog/column/7504784/84750516https://learn.microsoft.com/zh-cn/ef/ef6/modeling/code-first/workflows/new-database代码注解:https://blog.csdn.net/ultramand/article/details/130039001https://learn.microsoft.com/zh-cn/ef/ef6/modeling/code-first/data-annotations1。EF概念实体框架Entity Framework是一种对象关系映射器O/RM它使.NET开发人员能够通过.NET对象来操作数据库。它消除了开发人员通常需要编写的大多数数据访问代码的需求。ORM框架有个优势解放开发人员编写数据库操作逻辑把关注点转移到业务逻辑。提高开发效率。开发快节省成本。EF是微软官方在推广的一个重要ORM框架。系统平台 框架 类库程序集模块包第三方模块包包各种对象类接口等等方法ORM对象关系映射英文全称Object Relational Mapping简称ORM或O/RM或O/R mapping是一种编程技术用于实现面向对象编程语言里不同类型系统的数据之间的转换。即把数据库中的表、视图等数据结构映射成语言中的对象。EF两版本.NET Core版本跨平台、.NET Framework只支持Window平台ORM关系映射框架有很多C#中比较流行的有N层架构、微软官方EF框架、国外的Dapper、NHibernate等、国内的SqlSugar、Dos.ORM等https://segmentfault.com/a/11900000116767442。EF组成(了解)a、EDM(实体数据模型 Entity Data Model): EDM包含三个主要部分——概念模型、映射、存储模型。重要概念模型entity: 概念模型包含了模型类和它们之间的关系。 这将是独立于数据库表设计。想法映射(mapping): 映射由概念模型如何映射到存储模型的信息组成。转换存储模型(data): 存储模型是数据库设计模型,包括表、视图、存储过程等、以及它们之间的关系和主键外键。设计b、LINQ To EntityL2E: L2E是一种的查询实体对象的语言 它返回在概念模型中定义的实体。 LINQ集成查询语言语言集成查询英语Language Integrated Queryc、Entity SQL: Entity SQL是一个类似于L2E的查询语言。 然而它比L2E更加复杂。d、Object Services(对象服务)对象服务是访问数据库中的数据并返回数据的主要入口点。它负责数据实例化把Entity Client Data Provider下一层的数据转换成实体对象。(映射转换)e、Entity Client Data Provider主要职责是将L2E或Entity Sql转换成数据库可以识别的Sql查询语句它通过ADO.Net Data Provider向数据库发送或者索取数据。f、ADO.Net Data Provider使用标准的ADO.net与数据库通信。3。三种使用方式数据库优先 database first数据库已经设计好基本不改动的情况下使用模型优先 model first先设计模型再根据模型生成数据库实体对象和相关访问数据库的代码代码优先 code first(推荐先写代码再生成数据库) 重要推荐使用代码优先支持数据迁移代码优先使用步骤重要a. 安装EF框架b. 在当前项目中启用数据迁移执行命令Enable-Migrations //启用迁移c. 添加迁移版本执行命令Add-Migration 版本名称 // 添加迁移文件d. 更新数据库执行命令Update-Database // 根据迁移文件更新数据库安装EFhttps://learn.microsoft.com/zh-cn/ef/ef6/fundamentals/install4。PM包管理器概念? NuGet概念 如何打开PM包管理器如何使用PM包管理器PM包管理器中重要命令PM概念Package Manager 包管理器可以从NuGet上下载第三方模块包即类库程序集也可以把自己开发的模块包上传到NuGet上。NuGet概念NuGet类似于手机上的“应用市场”它提供一个平台供开发者上传下载其他开发者分享的模块包。打开PM包管理器工具》NuGet包管理器》程序包管理器控件台包管理器中重要的命令Install-Package 模块包名称 //安装程序集Uninstall-Package 模块包名称 //卸载程序集a. Install-Package EntityFramework 安装最新版实体框架 一次性b. 编写代码(更改反复修改添加删除代码)b.1. 编写实体模型类Domain Class领域模型类 POCO)b.2. 编写数据库上下文b.3. 把上下文和真实的数据库建立连接c. 执行迁移命令(重新生成数据库表结构)Enable-Migrations //启用迁移一次性Add-Migration InitialCreate //添加迁移生成创建数据库及数据库表的代码,其中InitialCreate是版本名称Update-Database //更新数据库把Add-Migration生成的代码执行一下把领域模型的结构同步到数据库中迁移命令使用细节1。领域模型发生变化(添加新模型修改已存在的模型删除了模型)必须进行迁移和更新。2。上一次迁移没有更新到数据库不能生成下次迁移。4。LINQ概念LINQ组成部分LINQ分类LINQ语法重要LINQ概念LINQLanguage Integrated Query是一种C#语言中的查询技术它允许我们在代码中使用类似SQL的查询语句来操作各种数据源。这些数据源可以是集合、数组、数据库、XML文档等等。LINQ提供了一种统一的编程模型使我们能够使用相同的方式来查询和操作不同类型的数据。LINQ组成部分数据源Data source可以是集合、数组、数据库、XML文档等等。查询变量Query variable用于存储查询结果的变量。查询表达式Query expression类似于SQL语句的查询表达式用于描述查询的逻辑和条件。查询操作符Query operator用于执行各种查询操作如筛选、排序、分组、投影等等。查询结果Query result查询操作的返回结果。其中数据源查询变量查询结果是必选项查询表达式查询操作符是可选项。LINQ分类LINQ To EntitiesLINQ To ObjectsLINQ To XMLLINQ文档https://www.cnblogs.com/jack-jiang0/p/17819430.html5。LINQ函数及实战训练https://www.cnblogs.com/xiyin/p/6078385.htmlhttps://www.cnblogs.com/xiyin/p/6086119.htmlhttps://www.cnblogs.com/xiyin/p/6089142.html6。LINQ语法细节https://learn.microsoft.com/zh-cn/dotnet/csharp/language-reference/keywords/query-keywordshttps://learn.microsoft.com/zh-cn/dotnet/csharp/linq/https://learn.microsoft.com/zh-cn/dotnet/csharp/language-reference/keywords/from-clause