ASP.NET 数据访问 - 推荐的资源
本主题提供指向有关如何访问 ASP.NET Web 应用程序中数据的文档资源的链接,主要通过使用实体框架和SQL Server。
如果你知道一篇出色的博客文章、 stackoverflow 线程或任何其他有用的链接,请 [向我们发送电子邮件] (aspnetue@microsoft.com?subject=Data Access 内容映射) 链接。
上次更新时间:2014/4/3
本主题包含以下各节:
在 ASP.NET 中使用数据访问入门
- 使用 Windows Azure) 生成 Real-World 云应用的数据存储选项 (。 有关针对云进行开发的电子书的章节。 引入 NoSQL 数据库作为许多熟悉关系数据库的开发人员往往忽略的替代方法。 提供有关选择关系或 NoSQL 或选择特定平台时要考虑的准则。
- MSDN) (ASP.NET 数据访问选项。 介绍用于 ASP.NET 的关系数据库的数据访问选项,并指导如何选择适合你的方案的平台和访问方法。
- 关系数据库。 维基百科) 。 如果尚未使用关系数据库,请参阅此页,了解关系数据库术语和概念简介。 有关SQL Server具体介绍,请参阅本主题后面的使用SQL Server数据库。
使用实体框架
- 实体框架开发方法 (MSDN) 。 有关如何选择实体框架开发方法 Database First、Model First 或 Code First 的指南。
使用实体框架代码优先
以下教程提供可下载的示例应用程序:
- 入门使用 MVC 5 的 EF 6。 涵盖广泛的 Entity Framework Code First 方案,包括迁移和 EF 6 功能,例如连接复原、命令拦截和异步。 这是 EF 5/MVC 4 系列的更新版本。 前面的系列教程包括有关存储库和新系列中未包含的工作单元模式的教程。
- ASP.NET MVC 5 简介。 涵盖范围较窄的实体框架 Code First 方案,但在引入 MVC 功能方面做了更全面的工作。
- 模型绑定和Web Forms。 在Web Forms应用程序中使用 Code First。
- 使用 ASP.NET 4.5 Web Forms 入门。 介绍Web Forms,其中包含 Code First 的一些覆盖范围。 使用模型绑定。
- MVC 音乐应用商店。 在同时实现成员资格和授权的电子商务 MVC 3 应用程序中使用 Code First。 此处使用的 MVC 版本和 ASP.NET 成员身份 (身份验证和授权) 系统已过时;有关 ASP.NET 成员身份的最新信息,请参阅 https://asp.net/identity。
其他资源:
- 实体框架 - 现有数据库的 Code First。 Msdn。 演示如何对现有数据库使用 Code First 的视频和演练。
- 数据开发人员中心 - 实体框架。 Msdn。 有关实体框架团队创建和维护的实体框架文档指南,请参阅 入门 链接。
另请参阅本主题后面的 有关实体框架 和其他 实体框架资源的 书籍。
使用 Entity Framework Code First 迁移
上面列出的大多数 Code First 教程都涵盖迁移。 另请参阅以下资源。
- 使用 Visual Studio ASP.NET Web 部署。 教程系列由两部分组成,介绍如何使用 Code First 迁移 部署数据库。
- 将具有成员资格、OAuth 和SQL 数据库的安全 ASP.NET MVC 5 应用部署到 Windows Azure 网站。 Microsoft Azure) 。 如何使用迁移将成员资格和应用程序数据部署到 Azure。
- Visual Studio 和 ASP.NET 的 Web 部署概述。 请参阅在 Visual Studio 中配置数据库部署部分,了解如何将 Code First 迁移 集成到 Visual Studio Web 部署功能中。
- 数据开发人员中心 - Code First 迁移 (MSDN) 。 实体框架团队的迁移文档。
- 迁移截屏视频系列。 EF 博客) 。 Code First 迁移中有关高级主题的三个视频。
- 使用 ASP.NET 网页 站点Code First 迁移。 Mikesdotnetting 博客) 。 演示如何通过在 Visual Studio 类库项目中放置数据上下文,将 Code First 迁移与 ASP.NET 网页 网站配合使用。
使用 Entity Framework Database First 或 Model First (EF Designer)
- 使用 MVC 5 的 Entity Framework 6 Database First 入门。 在服务器资源管理器中运行脚本以创建数据库,然后使用实体框架设计器创建数据模型。 演示如何创建简单的 CRUD 网页,对于其他数据处理函数,可以遵循 Code First 教程之一,因为所有 EF 工作流都使用相同的 DbContext API。
以下资源较旧。 如果要使用实体框架版本 4.0,并且想要使用数据源控件在Web Forms应用程序中进行数据绑定,则它们非常有用。
- 使用 Entity Framework 4.0 入门。 演示如何使用 EntityDataSource 控件。
- 继续学习实体框架 (演示如何使用 ObjectDataSource 控件。 包括有关并发处理的教程、有关 EF 性能的教程和 EF 4.0 中的新增功能教程。
处理实体框架中的相关数据 (延迟加载、预先加载和显式加载)
- 使用 ASP.NET MVC 应用程序中的实体框架读取相关数据。 代码优先,MVC 示例应用程序。 显示的方法也适用于Web Forms模型绑定和 Database First 工作流。
- 数据开发人员中心 - ( MSDN) 加载相关实体。 实体框架团队有关加载相关数据的文档。
优化实体框架性能
- ASP.NET 应用程序的高级实体框架方案。 演示如何执行自己的 SQL 语句或调用自己的存储过程、如何禁用更改检测,以及如何在保存更改时禁用验证。
- 实体框架 5 (MSDN) 的性能注意事项。
- 实体框架) ( MSDN) (性能注意事项。
- 在 ASP.NET Web 应用程序中使用实体框架最大程度地提高性能。 适用于 Entity Framework 4.0。
- 另请参阅本主题后面的 优化 ASP.NET 数据访问 。
处理实体框架应用程序中的并发
- 处理 ASP.NET MVC 应用程序中实体框架的并发。 Code First DbContext API,使用 MVC 示例应用程序。
- 数据开发人员中心 - 乐观并发模式 (MSDN) 。 实体框架团队的并发文档。
- 处理 ASP.NET Web 应用程序中实体框架的并发。 适用于 Entity Framework 4.0。 Database First ObjectContext API,使用Web Forms示例应用程序。
有关实体框架的书籍
- 实体框架编程:DbContext 由 Julie Lerman 和 Rowan Miller 编写。
- 编程实体框架:Julie Lerman 和 Rowan Miller 的代码优先。
这两本书都是最新的,采用当前推荐的技术。 与 Internet 上提供的任何内容相比,它们提供了更全面且易于遵循的实体框架简介。 另一本书,Julie Lerman 的编程实体框架 ,是更大和更全面的,但它是较早的,它涵盖的许多技术不再是推荐使用实体框架的方式。 另请参阅 数据开发人员中心 实体框架团队推荐的书籍列表 - MSDN 网站上的书籍。
其他实体框架资源
- 实体框架 (ADO.NET) 团队博客。 获取最新信息和最新增强功能公告的最佳资源之一。 有关其他 EF 相关博客,请参阅 Entity Framework 入门中的博客。
- MSDN 杂志。 请参阅 “数据点 ”列,该列经常与实体框架相关的主题。
ASP.NET Web Forms 应用程序中的数据绑定
- MSDN) (ASP.NET Web Forms数据访问选项。
使用Web Forms模型绑定
- 模型绑定和Web Forms。 使用 EF Code First 的教程系列。
- Web Forms模型绑定第 1 部分: ( Scott Guthrie 的博客) 选择数据。 在这些较旧的博客文章中,当前名为 ItemType 的属性名为 ModelType,但否则它们包含的信息是有效的。
- Web Forms模型绑定第 2 部分:筛选数据 (Scott Guthrie 的博客) 。
- Web Forms模型绑定第 3 部分:更新和验证 (Scott Guthrie 的博客) 。
- ASP.NET 4.5 Web Forms模型绑定。 (视频) 。
- 模型绑定第 1 部分 - 选择数据 (视频) 。
- 模型绑定第 2 部分 - 筛选 (视频) 。
- 使用 ASP.NET 4.5 Web Forms 的入门 - 显示数据项和详细信息。
使用Web Forms数据源控件
- 数据源 Web 服务器控件 (MSDN) 。
- 宣布发布适用于 Entity Framework 6 的动态数据提供程序和 EntityDataSource 控件 , (Microsoft Web 开发博客) 。
使用Web Forms Data-Bound控件和 Data-Binding 表达式
- 模型绑定和Web Forms。 使用 EF Code First 的教程系列。
- 使用 ASP.NET 4.5 Web Forms 的入门 - 显示数据项和详细信息。
- 强类型数据控件 (Scott Guthrie 的博客) 。
- 强类型数据控件 (视频) 。
- ASP.NET 4.5 Web Forms视频) (强类型化数据控件。
- MSDN) (数据绑定 Web 服务器控件。
- MSDN) (数据绑定表达式概述。 此页仅介绍 Eval 和 Bind;它尚未更新为包含 Item 和 BindItem。
使用SQL Server数据库
- SQL SERVER MSDN) (数据库功能。 有关各种SQL Server主题的一般介绍,请参阅 TOC 中的此主题下的条目。
- SQL Server版本 (MSDN) 。 可用SQL Server版本的摘要,以及指向每个版本的详细信息的链接。)
- (MSDN ) ASP.NET Web 应用程序的SQL Server连接字符串。
- 将 SQL Server Compact 用于 ASP.NET Web 应用程序 (MSDN) 。
- Microsoft SQL Server:数据库产品示例。 示例 AdventureWorks 数据库。
- 安装示例数据库。 除了此处所示的方法外,还可以将示例.mdf文件之一下载到 Web 项目的 App_Data 文件夹中,将数据库转换为 LocalDB,并创建 LocalDB 连接字符串。 有关如何执行此操作的信息,请参阅 如何:升级到 LocalDB。
另请参阅以下部分,了解如何使用 SQL Server Express 和 LocalDB,并在SQL Server和SQL 数据库之间进行选择。
使用 SQL Server Express LocalDB 数据库
- SQL Server Express 2012 LocalDB (MSDN) 。 LocalDB 的官方 MSDN 简介。
- (MSDN ) ASP.NET Web 应用程序的SQL Server连接字符串。
- 如何: ( MSDN) 升级到 LocalDB。 如何将.mdf文件从早期版本的 SQL Server Express 迁移到 LocalDB。 如果下载SQL Server 2012 示例数据库之一,则还必须完成此过程。
- 介绍 LocalDB,这是改进的 SQL Express (SQL Server Express 博客) 。 有关创建 LocalDB 的原因比 MSDN 中包含的更多背景。
- LocalDB:我的数据库在哪里? (SQL Server Express 博客) 。 有关 LocalDB 数据库文件的创建位置的信息。
- 将 LocalDB 与完整 IIS 配合使用,第 1 部分:用户配置文件 (SQL Server Express 博客) 。 LocalDB 不适用于 IIS。 这一系列博客文章介绍了这些问题和一些解决方法。
使用SQL Server Express数据库
- (MSDN ) ASP.NET Web 应用程序的SQL Server连接字符串。 如果将 AttachDBFileName 连接字符串 设置与 SQL Server Express 一起使用,请参阅本页的“用户实例”部分。
- 如何获取本地 SQL Server Express 2008 (SQL Server Express 博客) 的所有权。 一个常见问题是无法使用SQL Server Express数据库,因为你不是SQL Server Express实例的管理员。 默认情况下,只有安装SQL Server Express的人员是管理员。 此博客介绍了如果你是计算机上的管理员,如何使自己成为SQL Server Express管理员。
- 我的 ASP.NET Web 应用程序是否可以在生产环境中使用 SQL Server Express 数据库? (MSDN) 。
使用 Windows Azure SQL 数据库
- 将具有成员资格、OAuth 和SQL 数据库的安全 ASP.NET MVC 应用部署到 Windows Azure 网站 (Microsoft Azure 站点) 。
- SQL 数据库 (Microsoft Azure 站点) 。 入门教程和操作指南。
- Windows Azure SQL 数据库 (MSDN) 。 MSDN 中SQL 数据库目录的顶级节点。
- Windows Azure SQL Database Articles Index (Microsoft Learn site) 。
- 暂时性故障处理应用程序块。 一个框架,使你能够处理因限制而导致的暂时性网络故障和连接错误。 在 NuGet 包中可用: 企业库 5.0 - 暂时性故障处理应用程序块。
- 使用 SQL 数据库 和 Entity Framework (MSDN) 进行入门。
- Windows Azure SQL数据库社区论坛。
- 移动到 Windows Azure SQL 数据库 (MSDN) 。 Microsoft 模式和实践团队全面端到端方案的一章。 介绍如何迁移的原因,以及如何从SQL Server迁移到SQL 数据库。
- 将SQL Server数据库迁移到 Windows Azure SQL 数据库 (MSDN) 。
在 SQL Server 和 Windows Azure SQL 数据库之间进行选择
- SQL Server 与 Azure SQL Database (Microsoft Learn 站点) 之间的 T-SQL 差异。
- 将数据迁移到 Windows Azure SQL 数据库:MSDN) (工具和技术。 包括将SQL Server与SQL 数据库进行比较的部分,并提供有关何时从SQL Server迁移到SQL 数据库的指导。
- 将Azure SQL点 CICD (Microsoft 博客网站) 连接。
- windows Azure SQL Database) (SQL Server 功能限制 (MSDN) 。
- Windows Azure 表存储和 Windows Azure SQL 数据库 - 比较和对比 (MSDN) 。 对于部署到 Windows Azure 的应用程序,Windows Azure 表存储可能是 Windows Azure SQL 数据库的替代方法。 本主题可帮助你在这些替代项之间做出决定。
- Windows Azure SQL 数据库 (MSDN) 。
- 指导原则和限制 (Windows Azure SQL Database)
使用 NoSQL 数据库管理系统
- Windows Azure Data Services (Microsoft Azure 站点) 。 请参阅 表服务功能指南 和页面的 大数据 部分。
- 使用存储表、队列和 Blob ( Microsoft Azure 站点) ASP.NET 多层应用程序。 端到端教程,其中包含使用 Windows Azure 存储 NoSQL 表的可下载示例应用程序。
在 ASP.NET 应用程序中使用 LINQ 查询
- ASP.NET MSDN) (数据访问选项 。 包括 LINQ 简介。
- LINQ 培训视频。
- ASP.NET 论坛主题,其中包含指向动态 LINQ 资源的链接。
使用动态数据基架
- 动态数据项目模板 (MSDN) 。 有关何时使用动态数据项目的指南。
- ASP.NET 动态数据 (MSDN) 。
保护数据访问
- 保护 ASP.NET 中的数据访问 (MSDN) 。
- 实体框架) ( MSDN) (安全注意事项。
- 如何:使用数据源控件时保护连接字符串 (MSDN) 。
优化数据访问性能
- (MSDN) ASP.NET 性能概述。
- ASP.NET 缓存 (MSDN) 。
- ( MSDN) 提高 ASP.NET 性能。 本页顶部有“已停用内容”警告,但大部分信息仍然相关,并且没有可比较的更新资源。
- ( MSDN) 提高SQL Server性能。 与上一个链接相同的注释。
另请参阅本主题前面的 优化实体框架性能 。
部署数据库
- ASP.NET Web 部署 - 建议的资源 (MSDN) 。
通过 Web 服务访问数据
- 通过 Web 服务访问数据 (MSDN) 。 有关何时使用 Web API 与 WCF 的指南。
- 使用 ASP.NET Web API入门。
- WCF Data Services (MSDN) 。
其他资源
- ASP.NET MSDN) (数据访问常见问题解答 。
- ASP.NET Web Forms教程 - 数据。 其中大多数教程都比较旧;请确保先阅读 ASP.NET 数据访问选项 和 数据存储选项, (使用 Windows Azure) 生成 Real-World 云应用 ,以免过于深入地了解不适合你的方案的数据访问方法。
- ASP.NET MVC 内容映射。
- ASP.NET 网页教程 - 数据。
- 在 Visual Studio 中访问数据 (MSDN) 。 提供与此内容映射类似的链接列表,但侧重于 Visual Studio,而不是 ASP.NET。