我谈谈我的做法。
1.数据库必须设定关系,因为它保障了数据的完整性。数据集也要拉关系,因为除了运行中保证数据完整性之外(不想每次都由数据库系统检查数据,写入失败被打回来,善后处里很烦的),还可以取得灵活的数据操控性能。比如在父子表中进行导向,子纪录查父纪录,父纪录也可以查子纪录。所以两边都要啦。
2.为整个系统规划一张数据集,而且是类型化的,把最关键的数据表放在其中。次要的放在各自的小数据集中。运行中的临时数据,不生成类型话的数据集。数据集类型,不要定义全局试的实体,而是在各自的Form中进行实例话。这就保证了每个应用功能得到的数据集结构一至,但是系统资源不浪费,不需要保存与当前使用功能不相关的数据。所以数据集是公用的,实体是各自的。

解决方案 »

  1.   

    Geoffrey1975(迅)的方法的确不错。
      

  2.   

    jcaomao(草帽) 的不错
    我喜欢
      

  3.   

    to zhongwanli:
    有关系和无关系的数据表的插入、删除、更新的方法都不一样。
    如果“实施的时候把这层关系加上”,会使你的程序无法运行的。
    有关系的数据库开发是难一些,但是一旦熟练之后就不是问题了。skykevin(天下) 的部份观点,我比较认同。但我还是坚持要在数据库级别上要拉关系。
    因为,你不能够保证你的数据库只面向你的C#应用。当其他系统、应用没有数据集概念或者他们的数据集没有关系时,你怎么保证数据的完整性呢?比如,在j2ee的应用中需要利用该数据库资源的时候,C#的DataSet中的约束和关系是得不到维护的。
      

  4.   

    简述一点:
    最理想方法:是整个Application 公用一至三个dataset(看实际情况!);