Entity Framework实体框架入门


备注

实体框架(EF)是一种对象关系映射器(ORM),它使.NET开发人员能够使用特定于域的对象处理关系数据。它消除了开发人员通常需要编写的大多数数据访问代码的需要。

实体框架允许您通过在EF Designer中编写代码或使用框和行来创建模型。这两种方法都可用于定位现有数据库或创建新数据库。

实体框架是Microsoft为.NET Framework和Microsoft推荐的数据访问技术提供的主要ORM。

版本

发布日期
1.0 2008-08-11
4 2010-04-12
4.1 2011-04-12
4.1更新1 2011-07-25
4.3.1 2012-02-29
5 2012年8月11日
6 二〇一三年十月十七日
6.1 2014年3月17日
核心1.0 2016年6月27日

发行说明: https//msdn.microsoft.com/en-ca/data/jj574253.aspx

安装实体框架NuGet包

在Visual Studio中打开Solution Explorer窗口,然后右键单击项目,然后从菜单中选择Manage NuGet Packages

管理nuget包

在打开的窗口中,在右上角的搜索框中键入EntityFramework

在此处输入图像描述

或者,如果您使用的是Visual Studio 2015,您将看到如下内容:

在此处输入图像描述

然后单击Install。

我们还可以使用包管理器控制台安装实体框架。要首先使用工具菜单 - > NuGet包管理器 - >包管理器控制台打开它,然后输入:

Install-Package EntityFramework
 

在此处输入图像描述

这将安装Entity Framework并自动在项目中添加对程序集的引用。

使用C#中的实体框架(代码优先)

代码优先允许您在不使用GUI设计器或.edmx文件的情况下创建实体(类)。它首先命名为Code ,因为您可以首先创建模型, Entity框架将根据映射自动创建数据库。或者您也可以将此方法与现有数据库一起使用,现有数据库首先使用现有数据库调用代码 。例如,如果您希望表格包含行星列表:

public class Planet
{
    public string Name { get; set; }
    public decimal AverageDistanceFromSun { get; set; }
}
 

现在创建您的上下文,它是您的实体类和数据库之间的桥梁。给它一个或多个DbSet<> 属性:

using System.Data.Entity;

public class PlanetContext : DbContext
{
    public DbSet<Planet> Planets { get; set; }
}
 

我们可以通过执行以下操作来使用它:

using(var context = new PlanetContext())
{
    var jupiter = new Planet 
    {
        Name = "Jupiter", 
        AverageDistanceFromSun = 778.5
    };

    context.Planets.Add(jupiter);
    context.SaveChanges();
}
 

在这个例子中,我们使用Name 属性创建一个新的Planet ,其值为"Jupiter" ,而AverageDistanceFromSun 属性的值为778.5

然后,我们可以使用DbSetAdd() 方法将此Planet 添加到上下文中,并使用SaveChanges() 方法将更改提交到数据库。

或者我们可以从数据库中检索行:

using(var context = new PlanetContext())
{
    var jupiter = context.Planets.Single(p => p.Name == "Jupiter");
    Console.WriteLine($"Jupiter is {jupiter.AverageDistanceFromSun} million km from the sun.");
}
 

什么是实体框架?

编写和管理ADO.Net代码以进行数据访问是一项繁琐而单调的工作。 Microsoft提供了一个名为“实体框架”O / RM框架,以自动化应用程序的数据库相关活动。

实体框架是对象/关系映射(O / RM)框架。它是对ADO.NET的增强,它为开发人员提供了一种访问和存储数据库中数据的自动机制。

什么是O / RM?

ORM是一种工具,用于以自动方式将域对象中的数据存储到关系数据库(如MS SQL Server),而无需太多编程。 O / RM包括三个主要部分:

  1. 域类对象
  2. 关系数据库对象
  3. 映射有关域对象如何映射到关系数据库对象的信息( 例如表,视图和存储过程)

ORM允许我们将数据库设计与域类设计分开。这使得应用程序可维护和可扩展。它还可以自动执行标准CRUD操作(创建,读取,更新和删除),以便开发人员无需手动编写。