|
-2
|
| Mawg says reinstate Monica · 技术社区 · 13 年前 |
|
1
2
TLDR:在SQL世界中,Master/Detail是一个古老的概念。 当有些人说“细节大师”时,他们不会一直走到兔子洞里。你的问题表明你确实想。我想分享一些我认为有帮助的事情,但我认为没有人能真正完全回答你的问题。
尽管上面的滚动你自己的ORM方法看起来很可爱,但它也有黑暗的一面。系统中的奇怪错误导致我再也不想使用这种方法了。我不想夸大其词,但我能谦虚地说,有一件事是在细节大师的兔子洞里走得太远吗?不要去那里。或者,如果你这样做了,请意识到你真的在构建一个迷你ORM,并准备好做这项工作,其中应该包括一组非常扎实的单元测试和集成测试。即便如此,也要注意,你可能会发现一些非常奇怪的角落案例,并可能发现一些真正邪恶的bug潜伏在你美丽的ORM/MasterDetail中。 就插入而言,这当然取决于您是构建者还是用户。如果一个人满足于在VCL中的任何表类之上构建,并且从不想用SQL弄脏自己的手,那么如果你不害怕SQL,他会认为你的方法是错误的。不过,我想知道那个人将如何处理自动分配的身份主键。我将一个人记录存储在一个表中,我需要立即取回该人新分配的ID,这是一个整数,现在我将使用该整数主键,将我的详细信息行与主行相关联,因此详细信息行引用主行的ID整数作为外键,因为我的SQL数据库构造得很好,有了引用完整性约束,而且因为我已经提前考虑过所有这些,不想一遍又一遍地重复做这件事,所以我最终从这里开始,构建一个对象-关系映射框架。我希望你能看到你的许多问题有许多可能的答案,这些答案已经导致了成百上千万种可能的方法,但没有一种是正确的。我碰巧不相信ORM,我认为在你上这列疯狂的火车之前,下这列火车是安全的。我手工编写SQL代码,手工编写业务对象代码,而且我不使用任何花哨的Master Detail或ORM东西。然而,你可以选择做你喜欢做的事。
在BDE/dBase/platt文件时代,我本可以实现为“主细节”,现在我只需实现为主行的查询和第二个细节行的查询,当主行更改时,我会刷新细节行查询,并且不使用
|
|
|
jdstein1 · 需要使用主/细节范例在列表之间切换项目(角度) 8 年前 |
|
|
Brandon M · 拆分控制器主表视图推送到主导航堆栈而不是细节 8 年前 |
|
|
akhalsa · Android碎片替换没有任何作用 13 年前 |
|
|
Elias Rahme · 在主细节应用程序模板中加载不同的视图控制器 13 年前 |