前言sql
Entity Framework Core (EF Core)是微软推荐的基于.NET Core framework的应用程序数据访问技术。它是轻量级,可扩展而且支持跨平台开发。EF Core是一种对象关系映射器(ORM)。经过应用程序实体对象和关系数据库中的数据的映射,使得开发人员可以以面向对象的方式处理数据。数据库
为何使用ORMjson
大多数开发框架都包含库,这些库容许经过相似记录集的数据结构访问关系数据库中的数据。下面的代码示例演示了一个典型的场景,即数据从数据库中检索并存储在ADO.NET DataTable中,以便程序的代码能够访问该数据:服务器
using (var conn = new SqlConnection(connectionString)) using (var cmd = new SqlCommand("select * from Products", conn)) { var dt = new DataTable(); using (var da = new SqlDataAdapter(cmd)) { da.Fill(dt); } }
DataTable中的数据能够经过数字或字符串索引器访问将对象转换为正确的类型:数据结构
foreach(DataRow row in dt.Rows) { int productId = Convert.ToInt32(row[0]); string productName = row["ProductName"].ToString(); }
这种后绑定或“弱类型”的数据访问方法很容易出错。常常会出现错误的输入列的名称,或者发现列名在数据库中已经被更改了,或者更改SQL语句中指定字段的顺序,而没有对应用程序代码进行相应的更改等问题,最后数据类型转换失败,代码仍然能够编译,但在运行时会出错。所以,专业开发人员更喜欢以强类型的方式处理数据。框架
强类型:工具
当您对数据采用强类型方法时,您将使用预约义类的属性,这些类以面向对象的方式造成模型(Model会在后续章节中专门作说明):sqlserver
public class Product { public int ProductId { get; set; } public string ProductName { get; set; } }
Product myProduct = new Product(); int productId = myProduct.ProductId; string productName = myProduct.ProductName;
要从数据库中检索数据并将其映射到域对象的实例,还须要作一些工做。一种选择是编写本身的代码来管理它,然而随着模型的增加,代码量会愈来愈大,意味着咱们将须要愈来愈多的开发时间去维护。这将增长完成项目的总时间。ui
ORM是预先编写的代码库,功能齐全的ORM能够作不少事情:spa
如何获取Entity Framework Core
EF CORE是 Nuget 包,能够根据项目类型和可用的工具以多种方式添加到项目中:下面介绍3中方式Visual Studio包管理器,包管理器控制台(Package Manager Console),命令行工具(Command Line Tools)
Visual Studio包管理器:
Visual Studio的用户能够经过包管理工具选项之一安装 EF CORE,而不用管其项目类型(.NET Core or the full .NET Framework),NuGet包管理器界面或包管理器控制台。
NuGet包管理器(Nuget Package Manager)
1.打开Visual Studio>> Tools >> NuGet Package Manager >> Manage NuGet Packages For Solution
2.选中"浏览(Browse)",并在搜索框中键入“entityframeworkcore”。
3.选中要安装的程序,这里选择SQL SERVER
4.选择你想要安装EF CORE的项目,而后点击安装(Install)
5.查看即将对项目进行的更改(除非您以前已经勾选了框以防止出现此对话框)
6.最后,接受与将要安装的包相关联的各类许可证的条款
1.打开Visual Studio>> Tools >> NuGet Package Manager >> Package Manager Console
2.确保在“默认项目(Default project)”下拉菜单中选择正确的项目,并键入install-package microsoft.entityframeworkcore.sqlserver来安装SQL服务器提供程序,点击回车键安装便可
命令行工具(Command Line Tools)
首先建立一个项目,命令行到 包含.csproj (或者 project.json)的文件夹以后,执行命令dotnet add package Microsoft.EntityFrameworkCore.SqlServer也可安装EF CORE,假设我新建的项目在E盘的文件夹下:
若是你想用EF Core工具去迁移或者搭建,还须要执行如下命令
dotnet add package Microsoft.EntityFrameworkCore.Tools --version 1.1.0-msbuild3-final
原文连接:https://www.learnentityframeworkcore.com/efcore/how-to-get