如何从.NET Windows应用程序中减少数据库(SQL Server)调用

时间:2013-11-14 19:40:02

标签: c# sql sql-server optimization architecture

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

为了优化这一点,我打算使用XML作为存储过程的参数。对象列表将由分层XML表示,存储过程将解析XML并基于XML值调用100插入/更新。我不知道如何获取每个对象的返回值。你能帮帮忙吗?您还有其他想法来优化它吗?我使用ADO.NET只是没有像Entity Framework这样的ORM。

1 个答案:

答案 0 :(得分:6)

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