C1DataObjects:.NET开发者的数据库应用开发利器

在.NET开发领域,数据库应用的开发一直是一个重要且复杂的任务。为了简化这一过程,ComponentOne推出了基于Microsoft ADO.NET技术的C1DataObjects工具。C1DataObjects不仅增强了ADO.NET的功能,还通过多种方式优化了数据库应用的开发流程。

C1DataObjects遵循标准的业务对象范式,允许开发者编写可重用的业务逻辑组件,即数据库。这种架构的优势在于,它提供了业务逻辑与表示层(或GUI)的清晰分离。此外,数据库可以在WinForms和WebForms应用程序中使用。

C1DataObjects还提供了创新的虚拟模式技术,非常适合在WinForms应用程序中处理大型数据集。实际上,由于ADO.NET本身无法处理大型数据集,使用C1DataObjects是克服这一限制的唯一方法。

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

定义数据模式

使用C1DataObjects的最简单的方法是连接到OLE DB数据源,并将其实例结构导入到数据模式中。数据模式由表单上的C1SchemaDef组件表示。该组件提供了访问Schema Designer的途径,用于指定暴露给绑定控件和其他数据消费者的表和字段。Schema Designer的导入向导提示输入连接字符串和登录凭据,然后显示可供导入的表、视图和别名。

导入向导可以连接到任何OLE DB数据源。Schema Designer显示了底层数据库结构和数据集的图形视图,包含以下窗口:

  • 表:列出了可用的数据库表,包括简单表和复合表。简单表是物理数据库表,而复合表代表两个或更多相关表的组合。
  • 关系:基于数据库中存储的外键约束的表对之间的关系列表。关系也可以在Schema Designer中手动定义。
  • 连接:数据库连接的列表。大多数模式只有一个连接。
  • 数据库表:活动连接的物理数据库表列表。
  • 数据集:定义一组表视图的一个或多个命名数据集的列表。
  • 模式图:数据库表、字段名称和表间关系的图形表示。
  • 属性浏览器:.NET风格的属性网格,用于检查和自定义表、字段、关系和其他模式对象的属性。
  • 输出:用于模式验证和错误报告的结果窗口。

Schema Designer提供了定义数据库结构的图形界面。

绑定到模式数据集

每个数据模式必须至少包含一个数据集,这是一个集合,包含表和关系,如它们暴露给数据消费者一样。通常,数据集暴露了底层数据源中可用表的一个子集。C1DataSet组件代表一个数据集,并作为绑定控件的数据源。

以下C1DataSet属性用于将组件与数据模式关联:

SchemaDef - 表单上C1SchemaDef组件的名称。 DataSetDef - 在Schema Designer中定义的数据集的名称。

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

DataSource - 表单上C1DataSet组件的名称。 DataMember - 在Schema Designer中定义的表视图的名称。

创建复合表

C1DataObjects的一个关键特性是能够将多个表组合成一个单一的聚合体,作为简单表暴露给数据消费者。复合表类似于通过带有连接的SQL语句形成的数据库视图。然而,使用C1DataObjects,开发者可以在Schema Designer中使用数据库图表指定表和关系,而无需编写SQL。

在Schema Graph窗口中,每个简单表由一个子窗口表示,其中包含一个字段名称列表和复选框。只有选中的字段才会暴露给数据消费者。开发者还可以控制复合表中默认字段名称的顺序,并可以将个别字段指定为只读。

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

定义主-从关系

通过在Schema Editor中定义表之间的视图关系,开发者可以在不编写代码的情况下实现绑定控件之间的主-从关系。如果定义了视图关系,绑定控件的DataMember属性将显示代表关系父子部分的额外节点。在运行时,详细控件会自动响应主控件中的行货币更改。

创建计算字段

C1DataObjects支持基于涉及其他数据库字段的表达式创建计算字段。对于数据消费者来说,计算字段与本地数据库字段无法区分。

指定约束表达式

约束表达式用于指定数据库字段更新时的合法值范围。通过在数据模式中放置此类约束,可以将业务逻辑集中并维护在单一位置。

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

使用数据库

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

要在另一个项目中使用数据库,开发者需要添加对数据库程序集的引用,然后将C1DataSet组件的DataLibrary属性设置为程序集文件名(不包括.DLL扩展名)。在这种情况下,不使用SchemaDef属性,因为C1SchemaDef组件位于数据库本身。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485