- ASP.NET Core 教程
- ASP.NET Core - 首页
- ASP.NET Core - 概述
- ASP.NET Core - 环境设置
- ASP.NET Core - 新建项目
- ASP.NET Core - 项目布局
- ASP.NET Core - Project.Json
- ASP.NET Core - 配置
- ASP.NET Core - 中间件
- ASP.NET Core - 异常处理
- ASP.NET Core - 静态文件
- ASP.NET Core - 设置 MVC
- ASP.NET Core - MVC 设计模式
- ASP.NET Core - 路由
- ASP.NET Core - 属性路由
- ASP.NET Core - 操作结果
- ASP.NET Core - 视图
- 设置 Entity Framework
- ASP.NET Core - DBContext
- ASP.NET Core - Razor 布局视图
- ASP.NET Core - Razor 视图启动
- ASP.NET Core - Razor 视图导入
- ASP.NET Core - Razor 标签助手
- ASP.NET Core - Razor 编辑表单
- ASP.NET Core - 身份概述
- ASP.NET Core - 授权属性
- 身份配置
- ASP.NET Core - 身份迁移
- ASP.NET Core - 用户注册
- ASP.NET Core - 创建用户
- ASP.NET Core - 登录和注销
- ASP.NET Core 有用资源
- ASP.NET Core - 快速指南
- ASP.NET Core - 有用资源
- ASP.NET Core - 讨论
ASP.NET Core - 设置 Entity Framework
在本章中,我们将设置并配置我们的应用程序,以便从 SQL Server 数据库保存和读取数据。
为了使用数据库,我们将使用 Entity Framework,它经过重新编写以与新的 .NET Framework 协同工作。如果您以前使用过 EF,您会看到许多熟悉的部分。
在此应用程序中,我们将使用 SQL Server LocalDB。如果您不熟悉 SQL Server,您可以使用任何您喜欢的数据库,例如本地数据库、远程数据库,只要您有权在实例上创建新数据库即可。
LocalDB 是 SQL Server 的一个特殊版本,专为开发人员优化。
Visual Studio 2015 甚至其社区版默认都会安装 LocalDB。
要检查 LocalDB,请转到 Visual Studio 中的视图 → SQL Server 对象资源管理器菜单选项。
如果您必须使用 SQL Server,这是一个很棒的工具,因为它允许您浏览数据库和浏览数据,甚至在数据库中创建数据。第一次打开它时,可能需要一点时间,但它应该会自动连接到 LocalDB。
安装 Entity Framework
使用 Entity Framework 的第一步是从 NuGet 包管理器安装 Entity Framework NuGet 包,或通过直接编辑project.json文件。
现在让我们通过添加以下两个包来直接编辑 project.json 文件。
EntityFramework.Commands包帮助我们执行 Entity Framework 的任务,例如根据我们的 C# 实体类创建数据库模式,这些任务可从命令行工具中获得,其中逻辑位于 EntityFramework.Commands 包中。
为了使用此命令行工具,我们需要在 project.json 的 commands 部分添加一个额外的条目,如下面的屏幕截图所示。
我们刚刚将其命名为“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" ] }