C# 使用特定键从SQL检索数据,并将其发送到C应用程序

C# 使用特定键从SQL检索数据,并将其发送到C应用程序,c#,sql,sql-server,C#,Sql,Sql Server,假设我有一个包含以下内容的数据库: +---------------------------------------+ | Key Username Firstname Lastname | +---------------------------------------+ | 1234 user1 Firstname1 Lastname1 | | 1234 user2 Firstname2 Lastname2 | | 1234 user3 Firs

假设我有一个包含以下内容的数据库:

+---------------------------------------+
| Key   Username  Firstname   Lastname  |
+---------------------------------------+
| 1234  user1     Firstname1  Lastname1 |
| 1234  user2     Firstname2  Lastname2 |
| 1234  user3     Firstname3  Lastname3 |
| 5678  user4     Firstname4  Lastname4 |
| 9012  user5     Firstname5  Lastname5 |
| 9012  user6     Firstname6  Lastname6 |
| 9012  user7     Firstname7  Lastname7 |
| 3456  user8     Firstname8  Lastname8 |
| 3456  user9     Firstname9  Lastname9 |
+---------------------------------------+
然后,我希望在C应用程序中检索数据,该应用程序将数据发送到API,并满足以下要求:

API希望数据与密钥一起发送,因此每个密钥将有一个调用,但它必须在同一个调用中发送具有该密钥的所有用户

键列中的值未知,例如,可以向键添加更多值

我已经得到了一个类,用于创建具有特定密钥的所有用户,对API的调用如下所示:

+---------------------------------------+
| Key   Username  Firstname   Lastname  |
+---------------------------------------+
| 1234  user1     Firstname1  Lastname1 |
| 1234  user2     Firstname2  Lastname2 |
| 1234  user3     Firstname3  Lastname3 |
| 5678  user4     Firstname4  Lastname4 |
| 9012  user5     Firstname5  Lastname5 |
| 9012  user6     Firstname6  Lastname6 |
| 9012  user7     Firstname7  Lastname7 |
| 3456  user8     Firstname8  Lastname8 |
| 3456  user9     Firstname9  Lastname9 |
+---------------------------------------+
insertUserkey,usersArray,其中key是数据库中key列的值,usersArray是从类中创建的数组,该类从数据库中获取具有特定键的所有用户。 主要问题是,更具体地说,哪种方法是检索具有唯一密钥的所有用户并使用API插入它们的最佳方法,然后转到下一个密钥并插入具有该密钥的所有用户

我希望我足够具体,否则请我澄清


提前谢谢

我很不确定你到底在找什么。但是假设您已经关闭了数据访问部分,LINQ可能是您的朋友。具体来说,就是方法

这会将所有记录加载到计算机的内存中,然后将它们分组到内存中,遍历每个唯一的键值,并为给定的键值上载用户

如果您能够负担得起将所有数据加载到内存中,这是一个很好的解决方案。这取决于您的情况,可能适用,也可能不适用


如果内存比带宽和时间更重要,那么也可以简单地选择不同的键,然后迭代这些键,找到相关用户,然后上传它们。速度较慢,但一次只需加载一个键的用户。

不清楚您在问什么或希望得到什么答案。对于您遇到的任何特定问题,请包括一个。请同时阅读。请确保您的问题是具体的,不要过于宽泛。可以从中选择不同的键、用户名、姓氏和姓氏table@Chuck,行已经不同了。@jarlh,很好的捕获,不同用户使用相同的键,可能不应该称为键!LOLThis很到位,为我指明了正确的方向。使用LINQ和我枚举的数据表。非常感谢你的帮助!