c# - 如何从 id 数组中获取一组行?

标签 c# sql-server ado.net

在 C# 中,我有一个整数数组,它表示 SQL Server 中表中行的主键。我需要通过执行单个 Select 命令(最好是通过存储过程)从 SQL Server 选择所有这些行。

数组中可能有几个到数百个 ID,该解决方案需要在 SQL Server 2005 和 2008 上运行。

最好/最有效的方法是什么?

我目前有一个解决方案,将包含逗号分隔的 id 列表的字符串传递给 SQL Server,然后基于此生成 SELECT 语句。我希望有更好的方法,不涉及动态生成 SQL 语句。

最佳答案

Linq2SQL 通过执行 where idList.Contains(record.id) 来支持此操作;在 ADO.Net 中,TableAdapter 没有真正的解决方案,但本文应该可以让它发挥作用:

http://support.microsoft.com/kb/555266/en-us

关于c# - 如何从 id 数组中获取一组行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1737823/

相关文章:

sql - CHECK 约束可以像 if else 一样起作用吗?

.net - 用于 VS11 开发人员预览版的 MySQL 提供程序

c# - 在 UpdatePanel 中使用 ClientValidationFunction (JavaScript)

sql - 请问有人能解释为什么在SQL Server 2005中删除和重新创建存储过程会导致最初的速度下降比预期的要多得多吗?

c# - .NET 中的 JObject.SelectToken 等效项

sql - 复合主键自动递增

C# SQL 数据适配器 System.Data.StrongTypingException

c# - C# 和 ado.net 应用程序中的可移植性问题

c# - 仅更新不同的更改

c# - 在 WPF 中处理 Key 的正确且独立于文化的方法是什么?