刚开始能找到一个delphi下的持久化框架感到很兴奋,但在研究它的例子一段时间以后,感觉并不是很好用,主要表现在下面几个方面:
1.在处理一对多,或多对多关系时,框架出在自动建的表中建一张关联表,如Contact_Person,每张表中会建立额外的三个字段Class,ID,UpdateCount,在远程存取时会有性能问题
2.在处理一对多关系时代码过于繁锁,如在Emplyer中增加一个Employee,要先增加Employer中Employee,然后反过来操作一下,两个对象都要保存,最后还要手工维护对象间的引用关系以及事务,代码如下:
OldEmployer := Employer;
Connector.StartTransaction;
try
AddToEmployer(NewEmployer);
try
StoreEmployer(NewEmployer);
RemoveFromEmployer(OldEmployer);
try
StoreEmployer(OldEmployer);
ReferenceEmployer(NewEmployer);
try
Store;
Connector.CommitTransaction;
except
ReferenceEmployer(OldEmployer);
raise;
end;
except
AddToEmployer(OldEmployer);
raise;
end;
except
RemoveFromEmployer(NewEmployer);
raise;
end;
except
Connector.RollbackTransaction;
raise;
end;
3.在运行自带的CrossPrimer例子程序时出现无法找到属性Employees的异常,因为文档太少,自己看代码又太吃力,只好放弃.
4.InstantObject的社群力量不够,更新缓慢.
结论:放弃...
本文探讨了一款Delphi下的持久化框架,在处理一对多及多对多关系时存在的问题,包括性能瓶颈、代码复杂度高及社群支持不足等,并最终决定放弃使用。
1196

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



