1

我有一个对象列表。对于该列表中的每个对象,我调用一个存储过程来保存该对象。然后我从该存储过程中获取输出以设置对象的ID属性。所以,如果我有一个包含 100 个对象的列表,我将调用数据库 100 次。

为了优化这一点,我计划使用 XML 作为存储过程的参数。对象列表将由分层 XML 表示,存储过程将解析 XML 并根据 XML 值调用 100 插入/更新。我不确定如何获取每个对象的返回值。你能帮忙吗?您还有其他想法可以优化它吗?我只使用 ADO.NET,没有像实体框架这样的 ORM。

4

1 回答 1

6

使用表值参数并在存储过程中执行插入/更新,然后选择更改的行以在一次调用数据库中获取所有 ID。在 C# 和 SQL Server 中使用 Google TVP,您会发现许多如何做到这一点的示例。

于 2013-11-14T19:44:29.063 回答