动态数据 Web
本演练演示如何创建使用 ASP.NET 动态数据和 WCF 数据服务的基本网站。 动态数据允许你创建一个数据驱动的网站,几乎不需要编码。 WCF Data Services使你能够在应用程序中创建和使用开放数据协议 (OData) 服务。 可以使用适用于 DB2 的实体提供程序生成动态数据,WCF Data Services访问 IBM DB2 关系数据库中存储的信息。 有关详细信息,请参阅 ASP.NET 动态数据内容映射 () https://go.microsoft.com/fwlink/?LinkId=199029 和WCF Data Services (https://go.microsoft.com/fwlink/?LinkId=199030) 。
本主题包含以下各节:
必备条件
必须安装以下组件才能完成本演练:
Visual Studio 2012
Internet Information Services 7
具有示例数据库的 IBM DB2 关系数据库服务器,例如 SAMPLE、CORPDATA 或 DSN8910。
创建动态数据网站
按照以下步骤在 Visual Studio 中使用 ASP.NET 动态数据模板创建动态数据网站。
启动 Visual Studio,然后从“ 文件 ”菜单中单击“ 新建网站”。 将显示“新建网站”对话框。
在左窗格中 的“已安装模板”下,选择“ Visual C#”。
在中心窗格中,选择 “ASP.NET 动态数据实体网站”。
在“ Web 位置 ”框中,选择“ 文件系统 ”,然后输入要存储网站页面的文件夹的名称。 例如,键入文件夹名称
C:\WebSites\DynamicData
并单击“ 确定”。Visual Studio 创建网站。
向服务器资源管理器添加数据连接
在 Visual Studio 中,服务器资源管理器在“数据连接”节点下方显示数据库连接。 按照以下步骤打开数据库连接、检索和操作数据。
在 “工具 ”菜单上,选择“ 连接到数据库”。 将显示“ 添加连接 ”对话框。
单击“更改”。 将显示“更改数据源”对话框。 单击“ DB2 数据库”,然后单击“ 确定”。
单击 “配置” 。 将显示“数据源向导”的“数据源”对话框。
在 数据源平台中,选择“ DB2/NT”,然后单击“ 下一步”。 将显示“TCP/IP 网络连接”对话框。
在 “地址或别名 ”框中,输入
127.0.0.1
。 在“ 端口 ”框中,输入50000
,然后单击“ 下一步”。 将显示“DB2 数据库”对话框。在 “初始目录 ”框中,输入
SAMPLE
。 在 “包”集合 框中,输入NULLID
。 在 “默认架构 ”和 “默认限定符 ”框中,输入DB2ADMIN
,然后单击“ 下一步”。 将显示“区域设置”对话框。注意
使用 Visual Studio 中的实体数据模型工具生成实体模型时,必须为基础 MsDb2Client ADO.NET Framework Provider for DB2 的默认限定符连接属性指定一个值,这使提供程序能够基于目标 DB2 架构 (集合) ) 提取 DB2 目录 (表、视图、存储过程、列和参数的正确范围。
在 “主机 CCSID ”列表中,选择“ ANSI – 拉丁语 (1252) ”,然后单击“ 下一步”。 将显示“安全”对话框。
在“用户名”框中,输入
db2admin
。 在 “密码” 和 “密码”确认 框中,输入Pass@word1
,然后单击“ 下一步”。 将显示“高级选项”对话框。单击“下一步”。 将显示“所有属性”对话框。
单击“下一步”。 将显示“验证”对话框。
依次单击“ 连接”、“ 包”、“ 示例查询”和“ 下一步”。 “数据链接属性”对话框关闭,新的数据连接显示在“数据连接”节点下方,为访问的服务器和数据库命名。
在“ 添加连接 ”对话框中,键入
DB2
“数据源名称”。依次单击“ 测试连接”、“ 确定”和“ 确定”。
(可选)在 服务器资源管理器中展开 “数据连接”,然后查看数据库表。
向网站添加数据
按照以下步骤将数据库连接添加到项目。 稍后,将使用数据库创建数据上下文 (类来表示) 数据库实体,然后注册数据上下文供动态数据使用。
在“解决方案资源管理器”中,右键单击项目,单击“新建项”。 此时将显示“添加新项”对话框。
在左窗格中 的“已安装模板”下,选择“ Visual C#”。 在中心窗格中,选择“ ADO.NET 实体数据模型”。
在“ 名称 ”框中,输入数据库模型的名称。 例如,输入名称
DB2.edmx
。单击“添加”。 将显示“创建App_Code文件夹”对话框。
单击 “是” 。 将显示实体数据模型向导的“选择模型内容”对话框。
选择“ 从数据库生成”,然后单击“ 下一步”。 将显示“选择数据连接”对话框。
在下拉列表中,选择上面配置的连接。 例如,选择 “DB2”。样品。DB2ADMIN。 单击“是”将敏感数据 (用户名和密码) 包含在连接字符串中,然后单击“下一步”。 此时出现“选择数据库对象”对话框。
单击三角形以展开 “表” 节点。 单击“DEPARTMENT”和“EMPLOYEE”表的“检查”框,然后单击“完成”。 将显示 ADO.NET 实体数据模型设计器。
在解决方案资源管理器中,打开 DB2.Designer。位于 DB2.edmx 文件节点下的 cs 文件。 请注意, DB2.edmx 文件包含表示数据库的 SAMPLEEntities 类。 它还包含表示数据库表的实体类。
在“解决方案资源管理器”中打开 web.config 文件。 请注意,connectionStrings 元素包含 DB2 数据库的连接字符串。
关闭类文件和 web.config 文件。
注册数据上下文
按照以下步骤注册数据上下文以供动态数据使用。
在解决方案资源管理器中,打开 Global.asax 文件。
取消注释包含 DefaultModel.RegisterContext 方法的行。
设置适当的上下文类型,并将变量 ScaffoldAllTables 设置为 true。
DefaultModel.RegisterContext(typeof(SAMPLEModel.SAMPLEEntities), new ContextConfiguration() { ScaffoldAllTables = true });
这会注册供动态数据使用的数据上下文,并为数据模型启用基架。
重要
通过将变量 ScaffoldAllTables 设置为 true 来启用基架可能会带来安全风险,因为你要公开数据模型中的所有表用于显示和编辑操作。 有关详细信息,请参阅 ASP.NET 动态数据基架 (https://go.microsoft.com/fwlink/?LinkId=199054) 。
在“文件”菜单中,单击“ 保存 Global.asax”。
测试动态数据网站
按照以下步骤测试已创建的动态数据网站。
在 “调试 ”菜单中,单击“ 开始调试”。 如果系统提示启用调试,请单击“ 确定”。 Internet Explorer 显示动态数据网站。
单击 “DEPARTMENTs” 超链接以查看 DB2 表。
单击超链接以在数据库上导航模型。 (可选)单击“编辑”、“更新”、“删除”,通过 DB2 的实体提供程序对数据库进行更改。
将显示一个页面,其中包含所选表中的数据。 对于包含外键字段的表,将提供指向所引用表的详细信息页的链接。 如果表是一对多关系中的父表,则会提供指向子表的列表页的链接。
完成数据库导航和编辑记录后,关闭浏览器。