微软已经发布了适用于 ASP.NET 4.5 的数据访问指导。大部分变更都与 ASP.NET 4.5 的新功能有关,例如在 Web Form(窗体)、及新的 ASP.NET Web API 方面的变更。
一些出自该指导的注意事项——
- 要尽可能与 ASP.NET Web Form(窗体)及 MVC 一起使用 ORM,而不要直接(通过 Database helper )在 ASP.NET Web Page(网页)中使用 ADO.NET。
- 适用于 WebForm 的数据控件
- 为了显示单条记录(Single Record) ——应使用 FormView 控件以便自定义生成的 HTML 代码;要想最大限度地发挥 HTML 代码生成自动化,就用 DetailsView 控件吧
- 为了显示列表(List)——应使用 ListView 控件以便自定义生成的 HTML 代码;尽管 Repeater 控件也适用于自定义 HTML 代码,但仅限只读访问(read-only access)情况下使用,并且效率更高(不过高级功能较少);而 GridView 控件则适用于最大限度地发挥 HTML 代码生成自动化
- ASP.NET Web Form(窗体)数据绑定方法——
- 数据源(Data Source)控件适用于不写任何代码的简单绑定情形
- 模型绑定(Model Binding)适用于编写数据检索及更新代码具有可行性的情形
- 手动数据绑定(Manual Data Binding)适用于需要精细控制绑定操作、抑或不支持模型绑定的情形
- 数据绑定表达式(Data-Binding Expression)
- 适用于弱类型数据的 Eval(计算)及 Bind(绑定)
- 适用于强类型数据的 Bind(绑定)及 BindItem(绑定项)
- 在开始分隔符中使用冒号(<%#:)以便启用自动 HTML 编码(HTML-encoding)
值得一提的是,有个指导针对的是,在 WCF 数据服务(Data Service)与 ASP.NET Web API 之间如何选择你的 web 服务。——
要是你希望通过 HTTP 协议快速暴露某个数据库,以便在公司内部网络的防火墙内使用该数据库,就该选择 WCF 数据服务。
与此相反,由于白名单方法比黑名单方法更安全,因此对于基于 Internet 的服务就应选择 Web API。
WCF 使用黑名单方法进行安全限制(默认情况下所有内容都可用),而 Web API 却使用白名单方法(默认情况下无内容可用)
在MSDN 上有很多涉及不同场景的演练——有关更详细信息,请参见MSDN。
查看英文原文: ASP.NET - Data Access Guidance
评论