关于Midas(DataSnap)处理主从表的问题。
最近一直在思考这个问题,网上书上都是使用巢状结构(在服务端建立主从关系,客户端使用TDataSetField),但是有很多人说这种方式效率太差,如果主表有1万条记录,就要去查询1万次从表。个人以为这种方式也不好。所以我觉得还是在客户端的TClientDataset控件之间建立主从关系比较好。但有些问题不知如何解决。
问题1:查询当然没有问题,客户端显示了主从数据后,如果做修改并向服务端提交,这时就涉及主从表提交顺序的问题了,删除的时候要先删除子表,添加的时候要先添加主表。这种顺序如何调整(.net中可以在更新的方法中给出一个参数指定更新的是增加记录、删除记录还是修改记录)?
问题2:如果主从表中主表的主键是自增列,要如何与从表关联?
说明:这些问题使用巢状主从关系都是有Delphi自动解决的,但是这种纯RAD的方式本人不太喜欢。