0

这是构建复杂对象(急切加载)的更好方法。对返回多个结果集的存储过程的单个调用还是对每个具有一个结果集的存储过程的多次调用?我正在使用 .NET 中的 T4/文本模板构建我的 DAL,所以我倾向于后者。

谢谢!

4

2 回答 2

0

这取决于您的应用程序的整体架构设计模型。如果您使用的是所谓的Table Data GatewayActive Record,那么后者可能会更好。如果您使用的是所谓的领域模型或领域驱动设计,那么前者更合适。

于 2013-09-30T15:09:28.070 回答
0

我不记得我们上一次编写一次返回多个结果集的存储过程是什么时候了。很少有它实际上是一个整体的好处。

我能想到做这样的事情的唯一原因是(a)性能 - 例如,如果 SELECTS 需要临时表或所有它们都通用的大量设置,或者(b)如果数据位于在调用之间发生变化的风险并希望使用可序列化的隔离语义。

如果所有的行集都是相互独立的并且没有共同的设置,那么一定要把它们分开。假设您使用的是较低级别的连接协议(例如 TCP/IP 或命名管道,而不是诸如 SQL over XML 之类的聊天技术),那么往返的成本并不是一个真正重要的因素。更重要的是,如果您可以单独调用存储过程,这意味着您可以异步和并行调用它们,如果您愿意的话,甚至可以实现卓越的性能。

于 2013-09-30T15:27:21.717 回答