C# 我们可以在一次拉伸中插入多个表吗?

C# 我们可以在一次拉伸中插入多个表吗?,c#,sql,sql-server,stored-procedures,C#,Sql,Sql Server,Stored Procedures,我想知道一次将多条记录插入多个表的最佳方法。 这是我的情况。我有一个excel文件,里面有100多条记录。该文件包含用户的所有详细信息。我需要将所有记录插入相应的表中(aspnet_成员、aspnet_用户、客户端、ClientAddress、ClientPaymentDetails)。我正在客户端表中使用aspnet_成员身份的用户ID。和其他客户机表具有外键引用。有谁能告诉我,在多个表中插入多条记录的正确和最快的方法是什么 SP能够批处理多个SQL语句。因此,编写一个SP并处理插入的所有关系

我想知道一次将多条记录插入多个表的最佳方法。
这是我的情况。我有一个excel文件,里面有100多条记录。该文件包含用户的所有详细信息。我需要将所有记录插入相应的表中(aspnet_成员、aspnet_用户、客户端、ClientAddress、ClientPaymentDetails)。我正在客户端表中使用aspnet_成员身份的用户ID。和其他客户机表具有外键引用。有谁能告诉我,在多个表中插入多条记录的正确和最快的方法是什么

SP能够批处理多个SQL语句。因此,编写一个SP并处理插入的所有关系和顺序。我不知道这是不是一个好主意,但如果你没有其他办法,这样做也可以。您必须确保您正在处理所有关系、插入订单以及可能会使您的工作更加困难的GUI。干杯对于这种情况,我建议:

将所有数据放在xml中……使此xml“完美”,即存储过程不需要执行任何逻辑

将xml发送到存储过程

让过程将xml分解成@variable表

开始一项交易。使用@variable tables执行CRUD操作。 如果出现任何错误,请回滚(整个内容)。致力于成功

由于aspnet_成员身份使用GUID/UniqueIdentifiers,因此您可以在客户端创建所有关系。插入后不必等待@标识或“输出”值

以下是一些xml切碎的基础知识:

这是一个公认的答案,指向相同的方法