为 Oracle Database 开发 WCF Data Services 和 OData 应用程序
为 Oracle Database 开发 WCF Data Services 和 OData 应用程序
本教程包含以下部分:
| 目的 | |
| 所需时间 | |
| 概述 | |
| 先决条件 | |
| 创建新的网站项目 | |
| 创建新的 ADO.NET 实体数据模型 | |
| 使用 EDM 数据创建 WCF 数据服务 | |
| 总结 |
为 Oracle Database 开发 WCF Data Services 和 OData 应用程序
目的
本教程介绍如何使用 Visual Studio 为 Oracle Database 开发 WCF Data Services 和开放数据协议 (OData) 应用程序。
所需时间
大约 15 分钟
概述
Microsoft WCF Data Services 支持创建和使用 Web 数据服务。为此,它使用 OData 将数据公开为可通过 URI 寻址的资源,如网站 URL。应用于 Microsoft Entity Framework 的实体数据模型 (EDM) 可以通过 WCF Data Services 和 OData 来公开数据,以使 EDM 得到更广泛的使用。
在本教程中,您将了解如何通过 Oracle 的 Entity Framework 支持来利用 WCF Data Services 和 OData 公开 Oracle 数据库数据。
首先从 HR 模式创建一个新的 EDM。接下来,创建一个 WCF 数据服务,它利用 OData 通过 Web 来公开这个 EDM。最后,运行 Web 应用程序并执行 URL 查询从数据库中检索数据。
先决条件
开始本教程之前,您应该:
|
1. |
安装 Microsoft Visual Studio 2010 以及 .NET Framework 4 或更高版本。 |
|---|---|
|
2. |
安装 Oracle Database 10.2 或更高版本,或者安装 Oracle Database XE。 |
|
3. |
从 OTN 安装 Oracle 11g Oracle Data Access Components (ODAC) 11.2.0.2.30 或更高版本。ODAC 下载包括本教程中将使用的 Oracle Developer Tools for Visual Studio 和 ODP.NET。 |
|
4. |
安装 Internet Explorer 7 或更高版本,或任何支持现代 Web 协议的浏览器。 |
|
5. |
将这些文件解压缩到工作目录中。 |
创建新的网站项目
|
1. |
打开 Visual Studio。单击 File。选择 New > Web Site。
|
|---|---|
|
2. |
选择 ASP.NET Web Site 并单击 OK。现在已经创建了一个新的 ASP.NET Web Site 项目。
|
创建新的 ADO.NET 实体数据模型
要通过 WCF Data Services 公开 Oracle 数据,需要一个 EDM。在本部分中,您将使用 Entity Data Model Wizard 基于 HR 模式中的 EMPLOYEES 表创建一个 EDM。
|
1. |
在 Solution Explorer 中,右键单击新创建的网站项目。选择 Add New Item。
|
|---|---|
|
2. |
选择 ADO.NET Entity Data Model 并单击 Add。
|
|
3. |
单击对话框中的 Yes。
|
|
4. |
在 Entity Data Model Wizard 中,选择 Generate from database 并单击 Next。
|
|
5. |
如果您还没有 HR 数据连接,则单击 New Connection。选择一个可用的数据源名称,如 ORCL。输入 HR 作为 User Name,并输入口令。单击 OK。
如果已经有了 HR 连接,则选择该数据连接,如屏幕截图中所示的 HR.ORCL。选择 Yes, include the sensitive data in the connection string。单击 Next。
|
|
6. |
选择要映射到 EDM 的 Oracle 表。展开 Tables 节点,选择 EMPLOYEES。单击 Finish。
|
|
7. |
将显示 Model.edmx 页面,其中包含新创建的 EDM。
|
使用 EDM 数据创建 WCF 数据服务
在本部分中,您将创建一个 WCF 数据服务。然后配置该数据服务,使之利用 EDM 从数据库中检索 EMPLOYEES 数据。最后,通过修改 URL 来执行查询,从而利用浏览器来检索 Oracle 数据。使用 OData 支持数据访问。
|
1. |
在 Solution Explorer 窗口中右键单击,选择 Add New Item。
|
|---|---|
|
2. |
在 Online Templates 中选择 WCF Data Service,然后单击 Add。
|
|
3. |
配置 WcfDataService.cs 代码页,检索数据并提供访问权限。要为 WCFDataService :DataService 检索数据,需要将 < /* TODO:put your data source class name here */> 替换为 <Model.Entities>。它是您刚创建的 EDM。 取消对 config.SetEntitySetAccessRule 的注释,并将 "MyEntitySet" 替换为 "*"。单击
|
|
4. |
网站已打开,地址栏显示以下 URL:http://localhost:<端口名>/<网站项目名称>/
|
|
5. |
在 URL 中,在网站名称的后面输入 /WcfDataService.svc,就可以查看已经包含的实体了。
|
|
6. |
在通过 URL 执行查询前,确保已禁用了 Internet Explorer 的源阅读视图。否则,浏览器将把返回的 AtomPub 编码文档作为 XML 源,而不是显示原始 XML 数据。 为此,执行以下步骤: 选择 Tools > Internet Options
|
|
7. |
选择 Content 选项卡。从 Feeds and Web Slices 部分选择 Settings。
|
|
8. |
取消选中 Turn on feed reading view,然后单击 OK。
|
|
9. |
要通过 URL 执行一些查询示例,可以在您的工作目录中打开 Sample Queries - HR.txt。其中的端口号和网站项目名称可能与您的项目不同。因此,这些查询示例只能用作指南,不能直接复制并粘贴到浏览器中。 要查询 EMPLOYEES 实体,需要在 URL 中添加 /EMPLOYEES。网站将执行如下所示的查询。
|
|
10. |
要执行 EMPLOYEE_ID = 100 查询,从 Sample Queries - HR.txt 复制 /EMPLOYEES(100M) 并粘贴到 URL 中。网站将执行如下所示的查询。
|
|
11. |
要查询 EMPLOYEE_ID = 100 的 FIRST_NAME,从 Sample Queries - HR.txt 中复制/EMPLOYEES(100M)/FIRST_NAME 并粘贴到 URL 中。网站将执行如下所示的查询。
|
|
12. |
要查询总行数,从 Sample Queries - HR.txt 中复制 /EMPLOYEES/$count 并粘贴到 URL 中。网站将执行如下所示的查询。
|
|
13. |
要查询前两名员工,从 Sample Queries - HR.txt 复制 /EMPLOYEES?$top=2 并粘贴到 URL 中。网站将执行如下所示的查询。
|
|
14. |
要查询 LAST_NAME = KING 的 EMPLOYEES,从 Sample Queries - HR.txt 复制 /EMPLOYEES?$filter=LAST_NAME eq 'King' 并粘贴到 URL 中。网站将执行如下所示的查询。
|
|
15. |
要查询每个工资周期的工资超过 10000 的 EMPLOYEES,从 Sample Queries - HR.txt 复制 EMPLOYEES?$filter=SALARY gt 10000 并粘贴到 URL 中。网站将执行如下所示的查询。
|
总结
在本教程中,您学习了如何:
- 在 Visual Studio 中创建新网站项目。
- 从 Oracle 模式创建新的 ADO.NET 实体数据项目。
- 使用 EDM 数据创建一个 Oracle WCF 数据服务,并使用 OData 通过修改 URL 来执行各种查询。
- 课程设计人员:Anupama Mandya
- 其他人员:Alex Keh
为 Oracle Database 开发 WCF Data Services 和 OData 应用程序的更多相关文章
- [转]WCF Data Services OData
http://martinwilley.com/net/data/wcfds.html WCF Data Services About OData Server code Client For .ne ...
- 精进不休 .NET 4.5 (12) - ADO.NET Entity Framework 6.0 新特性, WCF Data Services 5.6 新特性
[索引页][源码下载] 精进不休 .NET 4.5 (12) - ADO.NET Entity Framework 6.0 新特性, WCF Data Services 5.6 新特性 作者:weba ...
- WCF Data Services 5.0 for OData V3
https://www.microsoft.com/en-us/download/details.aspx?id=29306 VS 2010 下 安装 WCF Data Services 5.0 en ...
- [转]Consuming a OData Service in a Client Application (WCF Data Services)
本文转自:https://msdn.microsoft.com/zh-tw/library/dd728282(v=vs.103).aspx WCF Data Services 5.0 其他版本 ...
- [转]访问 OData 服务 (WCF Data Services)
本文转自:http://msdn.microsoft.com/zh-SG/library/dd728283(v=vs.103) WCF 数据服务 支持开放式数据协议 (OData) 将数据作为包含可通 ...
- 使用WCF Data Service 创建OData服务
使用WCF Data Service 创建OData服务 在 上一章 中,介绍了如何通过 OData 协议来访问 OData 服务提供的资源.下面来介绍如何创建一个 OData 服务.在这篇文章中,主 ...
- WCF Data Service 使用小结(二) —— 使用WCF Data Service 创建OData服务
在 上一章 中,介绍了如何通过 OData 协议来访问 OData 服务提供的资源.下面来介绍如何创建一个 OData 服务.在这篇文章中,主要说明在.NET的环境下,如何使用 WCF Data Se ...
- 【2016-10-26】【坚持学习】【Day13】【WCF】【EF + Data Services】
今天做了一个demo, EF+Data Services 先建立一个网站项目 添加一个ADO.NET 数据模型 相当于一个EF容器,用来连接MSSQL数据库 添加一个WCF Data Services ...
- P6 EPPM Manual Installation Guide (Oracle Database)
P6 EPPM Manual Installation Guide (Oracle Database) P6 EPPM Manual Installation Guide (Oracle Databa ...
随机推荐
- iOS_11_tableViewCell使用alertView变更数据
最后效果图: Girl.h // // Girl.h // 11_tableView的使用_红楼梦 // // Created by beyond on 14-7-26. // Copyright ( ...
- A ResourcePool could not acquire a resource from its primary factory or source
出处:http://aaron81939097.iteye.com/blog/1144642 原配置: <bean id="dataSource" class="c ...
- unity调用安卓打包apk时的错误unable to convert classes into dex format
出现这种问题一般是由于有重复的文件所致,看下unity报的错误那些文件重复了,把重复的文件删了即可 例如,将eclipse中的安卓工程bin\class导出jar包时,会将下面的.class文件打包, ...
- Codeforces 549H. Degenerate Matrix 二分
二分绝对值,推断是否存在对应的矩阵 H. Degenerate Matrix time limit per test 1 second memory limit per test 256 megaby ...
- Oracle 11g 的PL/SQL函数结果缓存
模拟Oracle性能诊断艺术做了两个试验样品.书上说的不承担RELIES_ON.果缓存的失效操作(result_cache RELIES_ON(test1,test2)).试验证明不正确,函数f1() ...
- cocos2d-html5
cocos2d-html5 简单的混乱 在正常情况下,build设置完毕后 跑ant编 变更后cocos2d.js 简单直观so easy 只需要上传cocos2d.js/game.js/index文 ...
- 惠普4431s 笔记本配置
hp-4431s驱动精灵硬件检测报告 版本:2015.3.26.1363(8.1.326.1363)================================================== ...
- 【Android基础】listview控件的使用(2)-------继承自ListActivity的普通listview
由于listview在android控件中的重要性,所以android为我们直接封装了一个类ListviewActivity,直接将listview封装在了activity之中,在本篇中,我将介绍在L ...
- 【Android进阶】Listview分页加载数据的实现
Listview分页加载数据的实现 public class MainActivity extends Activity { protected static final int SUCCESS_GE ...
- 讲座:采用Store检查邮件(1)
讲座:采用Store检查邮件(1) 一.邮件接收的体系结构 JavaMail API中定义了一个java.mail.Store类,用于运行邮件的接收任务,该类的实例对象封装了某种邮件接收协议的底层实施 ...












运行应用程序。

