非强类型(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”]