ASP.NET Core - 设置实体框架

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

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

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

  • LocalDB是针对开发人员优化的SQL Server特殊版本.

  • Visual Studio 2015甚至其社区版将默认情况下安装LocalDB.

要检查LocalDB,请转到 View Visual Studio中的SQL Server对象资源管理器菜单选项.

查看SQL Server对象资源管理器

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

安装实体框架

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

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

Project Json

EntityFramework.Commands 包帮助我们使用Entity Framework执行任务,例如根据我们的C#Entity类创建数据库模式,这些任务可以从命令行工具中获得,其中逻辑生命周期在EntityFramework.Commands包中.

为了使用这个命令行工具,我们需要在project.json的commands部分另外输入一个条目,如下面的截图所示. Command Line Tool

我们刚刚称它为"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" 
   ] 
}