ASP.NET Core - 设置实体框架


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

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

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

  • LocalDB 是 SQL Server 的一个特殊版本,针对开发人员进行了优化。

  • Visual Studio 2015 甚至其社区版都会默认安装 LocalDB。

要检查 LocalDB,请转到Visual Studio 中的“视图”→“SQL Server 对象资源管理器”菜单选项。

查看 SQL Server 对象资源管理器

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

安装实体框架

使用实体框架的第一步是从 NuGet 包管理器或直接编辑project.json文件来安装实体框架 NuGet 包。

现在让我们直接编辑project.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" 
   ] 
}