ASP.NET Core - 设置实体框架

在本章中,我们将设置和配置我们的应用程序以从 SQL Server 数据库保存和读取数据。

要使用数据库,我们将使用 Entity Framework 实体框架,它经过重新编写以与新的 .NET Framework 一起使用。 如果您过去曾使用过 EF,您会看到许多熟悉的片段。

  • 在此应用程序中,我们将使用 SQL Server LocalDB。 如果您不熟悉 SQL Server,您可以使用任何您喜欢的数据库,例如本地数据库、远程数据库,只要您有权在实例上创建新数据库即可。

  • LocalDB 是为开发人员优化的 SQL Server 的特殊版本。

  • Visual Studio 2015 及其社区版将默认安装 LocalDB。

要检查 LocalDB,请转到 Visual Studio 中的 View → SQL Server Object Explorer 菜单选项。

查看 SQL Server 对象资源管理器

如果您必须使用 SQL Server,这是一个很棒的工具,因为它允许您探索数据库和浏览数据,甚至可以在数据库中创建数据。 当您第一次打开它时,它可能需要一点时间,但它应该会自动连接到 LocalDB。


安装 Entity 实体框架

使用 Entity Framework 的第一步是从 NuGet 包管理器或直接编辑 project.json 文件安装 Entity Framework NuGet 包。

现在让我们通过添加以下两个包直接编辑 project.json 文件。

项目 Json

EntityFramework.Commands 包帮助我们使用实体框架执行任务,例如基于我们的 C# 实体类创建数据库架构,这些任务可从命令行工具获得,逻辑位于 EntityFramework.Commands 包。

为了使用这个命令行工具,我们需要在 project.json 的命令部分添加一个额外的条目,如下面的屏幕截图所示。

命令行工具

我们刚刚称它为"ef",它将映射到这个 EntityFramework.Commands 包。 我们可以使用这个"ef"来访问 EntityFramework.Commands 中可用的一些逻辑。

下面是 project.json 文件的实现。

{ 
   "version": "1.0.0-*", 
   "compilationOptions": { 
      "emitEntryPoint": true 
   },  
   
   "dependencies": { 
      "Microsoft.AspNet.Mvc": "6.0.0-rc1-final", 
      "Microsoft.AspNet.Diagnostics": "1.0.0-rc1-final", 
      "Microsoft.AspNet.IISPlatformHandler": "1.0.0-rc1-final", 
      "Microsoft.AspNet.Server.Kestrel": "1.0.0-rc1-final", 
      "Microsoft.AspNet.StaticFiles": "1.0.0-rc1-final", 
      "EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final", 
      "EntityFramework.Commands": "7.0.0-rc1-final" 
   }
   
   "commands": { 
      "web": "Microsoft.AspNet.Server.Kestrel" 
   },  
  
   "frameworks": { 
      "dnx451": { }, 
      "dnxcore50": { } 
   },  
  
   "exclude": [ 
      "wwwroot", 
      "node_modules" 
   ], 
  
   "publishExclude": [ 
      "**.user", 
      "**.vspscc" 
   ] 
}