| 非强类型(UnTyped)Dataset : | 强类型(Strong-Typed)Dataset : |
| 无法定义对象实体的各个属性的类型: lDs.Table["MyTable"].Rows[0]["FirstName"] 无法未定义 | 可以定义对象实体的各个属性的类型: MyDataRow.FirstName为string类型 |
| Coding时无法静态约定,只能通过TableName FieldName动态约定: string lFirstName = lDs.Table["MyTable"].Rows[0]["FirstName"] .ToString() | Coding时可以静态约定: string lFirstName = lTypedDs.MyTable[0].FirstName |
| 因为没有继承,无法提供自定义的方法属性 | 因为时自定义的Dataset,DataTable和DataRow除了父类的方法属性之外可以新增另外的方法属性 |
| 编译时无法进行校验(类型转换,拼写检测),只能到运行时才知道是否对错.比如无法确定"MyTable", "FirstName"是否拼写错误等等 | 可以在编译期进行校验(类型是否匹配等等). |
强类型(Strong-Typed)Dataset,我们的代码中不会出现如下形式的代码:
Tables[“TableName”]
或
Rows[n][“FieldName”]
本文深入探讨了强类型Dataset和非强类型Dataset的特性对比,包括编码时的约定方式、编译时的校验能力、数据操作的灵活性及安全性等方面。详细阐述了如何在实际开发中灵活选择并利用这两种Dataset类型,以提高代码的可读性和维护性。
3053

被折叠的 条评论
为什么被折叠?



