【发布时间】:2011-08-21 07:44:53
【问题描述】:
我使用 SubSonic 3 (Active Record) 作为 ORM。我必须在 2 个表中插入数据,并使用表 1 中插入行的 ID 作为表 2 中的外键。最好的方法是什么。 我可以先将数据保存到表 1,然后使用它的 ID 在表 2 中插入,但这将是 2 个查询,按顺序执行。我不能在批处理或事务中这样做吗?
谢谢
【问题讨论】:
我使用 SubSonic 3 (Active Record) 作为 ORM。我必须在 2 个表中插入数据,并使用表 1 中插入行的 ID 作为表 2 中的外键。最好的方法是什么。 我可以先将数据保存到表 1,然后使用它的 ID 在表 2 中插入,但这将是 2 个查询,按顺序执行。我不能在批处理或事务中这样做吗?
谢谢
【问题讨论】:
简短的回答:不,或者不容易。
更长的答案:如果您可以在单个 SQL 查询中表达您想要执行的操作,您可能可以说服 SubSonic 为您执行此操作。但是,一个查询不能插入到两个不同的表中,所以没有乐趣。
是的,您可以批量查询,但不能轻松地将 ID 从一个输入到另一个。使用存储过程可能会更好。
是的,您可以并且应该将它们包含在事务中,但这无济于事。
【讨论】: