65.9K
CodeProject 正在变化。 阅读更多。
Home

ComponentOne .NET 数据对象

emptyStarIconemptyStarIconemptyStarIconemptyStarIconemptyStarIcon

0/5 (0投票)

2003年11月3日

6分钟阅读

viewsIcon

61186

ComponentOne .NET 数据对象 (C1DataObjects) 基于 Microsoft ADO.NET 技术,并在许多重要方面对其进行了增强,以简化数据库应用程序的开发。

这是我们CodeProject赞助商的展示评论。这些评论旨在为您提供我们认为对开发人员有用且有价值的产品和服务信息。

引言

ComponentOne .NET 数据对象 (C1DataObjects) 基于 Microsoft ADO.NET 技术,并在许多重要方面对其进行了增强,以简化数据库应用程序的开发。C1DataObjects 遵循标准的业务对象范例,使开发人员能够编写称为数据库的业务逻辑组件,这些组件可以在多个项目中重复使用。这实现了业务逻辑与表示层(或 GUI)的清晰分离。此架构的另一个优点是数据数据库可以同时用于 WinForms 和 WebForms 应用程序。

C1DataObjects 还提供了创新的虚拟模式技术,使其成为处理 WinForms 应用程序中大型数据集的理想选择。事实上,由于 ADO.NET 无法处理大型数据集,使用 C1DataObjects 是克服此限制的唯一方法。

C1DataObjects 完全自动化了分布式 3 层 Web 应用程序的开发,使开发人员摆脱了编写特殊服务器端代码的任务。为了更全面地控制应用程序性能,ComponentOne ASP.NET WebDataObjects 封装了 C1DataObjects 的功能,并提供了服务器端缓存和对象池的优化。

定义数据架构

使用 C1DataObjects 入门的最佳方法是连接到 OLE DB 数据源,并将其结构导入数据架构,数据架构由窗体上的C1SchemaDef 组件表示。此组件提供了对架构设计器的访问,架构设计器用于指定暴露给绑定控件和其他数据使用者的数据表和字段。Schema Designer 的导入向导会提示输入连接字符串和登录凭据,然后显示可供导入的表、视图和别名。

Import Wizard
导入向导可以连接到任何 OLE DB 数据源。

架构设计器显示了底层数据库结构以及暴露给使用者的数据集的图形化视图。它包含以下窗口

表格 可用数据库表列表,包括简单表和复合表。简单表是物理数据库表。复合表代表两个或多个相关表,可以是简单表和复合表的任何组合。从数据使用者的角度来看,简单表和复合表之间没有区别。
关系 基于数据库中存储的外键约束的表对之间的关系列表。关系也可以在架构设计器中手动定义。
连接 数据库连接列表。大多数架构只有一个连接。
数据库表 活动连接的物理数据库表列表。
DataSets 一个或多个命名数据集的列表,这些数据集定义了一组表视图。
架构图 数据库表、字段名和表间关系的图形化表示。
属性浏览器 一个 .NET 风格的属性网格,可用于检查和自定义表、字段、关系和其他架构对象的属性。
输出 用于架构验证和错误报告的结果窗口。

Schema Designer
架构设计器提供了一个图形界面来定义数据库结构。

绑定到数据集

每个数据架构必须至少包含一个数据集,数据集是暴露给数据使用者的表和关系的集合。通常,数据集公开底层数据源中可用表的一个子集。C1DataSet 组件代表一个数据集,并充当绑定控件的数据源。

以下 C1DataSet 属性用于将组件与数据架构关联

SchemaDef 窗体上 C1SchemaDef 组件的名称。
DataSetDef 在架构设计器中定义的数据集的名称。

以下属性用于将绑定控件与 C1DataSet 组件关联

DataSource 窗体上 C1DataSet 组件的名称。
DataMember 在架构设计器中定义的数据表视图的名称。

创建复合表

C1DataObjects 的一个关键功能是能够将多个表合并到一个聚合中,该聚合作为简单表暴露给数据使用者。复合表类似于由带连接的 SQL 语句形成的数据库视图。但是,使用 C1DataObjects,开发人员可以使用架构设计器中的数据库图表指定表和关系,而无需编写 SQL。

Composite Table
从三个简单表创建的复合表。

在架构图窗口中,每个简单表都由一个子窗口表示,该子窗口包含一个带有复选框的字段名列表。只有选中的字段才会暴露给数据使用者。开发人员还可以控制复合表中默认字段名的顺序,并可以将单个字段指定为只读。

当应用程序尝试修改复合表中的某一行时,C1DataObjects 会自动收集所有修改过的简单表行,并将它们发送到服务器进行更新。

定义主从关系

通过在架构编辑器中定义表之间的视图关系,开发人员可以在不编写代码的情况下实现绑定控件之间的主从关系。如果定义了视图关系,绑定控件的 DataMember 属性将显示代表关系父/子部分的附加节点。在运行时,从控件会自动响应主控件中的行货币变化。

Master-Detail Grids
无需编码实现的主从网格。

创建计算字段

C1DataObjects 支持基于涉及其他数据库字段的表达式创建计算字段。对于数据使用者而言,计算字段与原生数据库字段无法区分。

Calculation Expression
在架构设计器中指定的计算字段表达式。

指定约束表达式

约束表达式可用于在更新数据库字段时指定合法值的范围。通过将此类约束放在数据架构内,可以集中管理业务逻辑。

Constraint Expression
在架构设计器中指定的约束表达式。

在运行时,无效的数据输入将显示指定的错误消息。

使用数据数据库

使用 C1DataObjects 的推荐方法是创建一个数据数据库项目,该项目定义单个架构,然后在多个项目中重用该数据数据库。请注意,WinForms 和 WebForms 项目可以共享相同的数据数据库。

要在另一个项目中消耗数据数据库,开发人员会添加对数据数据库程序集的引用,然后将 C1DataSet 组件的 DataLibrary 属性设置为程序集的文件名(不带 .DLL 扩展名)。在这种情况下,SchemaDef 属性不被使用,因为 C1SchemaDef 组件本身就驻留在数据数据库中。

下载评估版本

C1DataObjects 提供了许多本文未介绍的其他功能,包括

  • 虚拟模式技术,用于绑定到 WinForms 应用程序中的大型数据集。
  • 可编程的业务逻辑组件,用于自定义数据集和表视图的行为。
  • 基于 SQL 的表,用于支持非标准 SQL 和存储过程。
  • 未绑定表,用于由事件处理程序填充的非 SQL 数据源。

C1DataObjects 是 ComponentOne Studio for .NET 的一部分。要下载评估版本,请访问 www.componentone.com

© . All rights reserved.