重点讲 Entity Framework Core !
(一)Entity Framework
它是适用于.NET 的对象关系映射程序 (ORM),现在的EF6已经是久经沙场,并经历重重磨难,获得一致认可的数据访问技术(原来加 Title 也挺有意思的,哈哈哈)。
作为 ORM,EF6 降低了关系方面和面向对象的方面之间的阻抗不匹配,使开发人员能够使用表示应用程序域的强类型 .NET 对象来编写应用程序,该应用程序可与存储在关系数据库中的数据交互,同时使开发人员无需再编写大部分的数据访问“管道”代码。这是微软官方吹牛逼的原话,但也很好理解。
那基于 EF6 可以实现很多 ORM 的热门的一些功能:
-
一对一、一对多和多对多关系
继承(每个层次结构一张表、每个类型一张表和每个具体类一张表)
复杂类型
存储过程
不依赖于任何 EF 类型的 POCO (Plain Old CLR Object) 实体类的映射
自动更改跟踪
标识解析和工作单元
预先、延迟和显式加载
使用 LINQ(语言集成查询)转换强类型查询
丰富的映射功能,可支持:
通过可视化设计器创建实体模型。
通过编写代码创建实体模型的“Code First”体验。
既可从现有数据库生成模型,然后手动编辑,也可从头开始创建模型,然后用于生成新的数据库。
与 .NET Framework 应用程序模型(包括 ASP.NET)集成,并通过数据绑定与 WPF 和 WinForms 集成。
基于 ADO.NET 的数据库连接和可用于连接到 SQL Server、Oracle、MySQL、SQLite、PostgreSQL、DB2 等的众多提供程序。
相信很多人都使用过 VS 中 EF 设计器,我以前用得比较多,主要就是在项目中创建的:
-
项目->添加新项...
选择数据左侧的菜单,然后ADO.NET 实体数据模型;
用生成的 Model 作为名称,然后单击确定;
这将启动实体数据模型向导;
选择从数据库生成单击下一步;
-
选择连接到第一个部分中创建的数据库中,直接用生成的 LibraryEntities 作为名称的连接字符串和单击下一步;