gpt4 book ai didi

c# - 避免 LINQ to SQL 中的 2100 个参数限制

转载 作者:太空狗 更新时间:2023-10-29 20:18:13 26 4
gpt4 key购买 nike

在我目前正在进行的项目中,我需要通过以下方式访问 LINQ 中的 2 个数据库:

  1. 我从 DB1 获取指定日期范围内所有行程编号的列表,并将其存储为“长”值列表

  2. 我在 DB2 上执行大量连接的广泛查询,但只查看其行程编号包含在上述列表中的行程。

问题是,来自 DB1 的行程列表经常返回超过 2100 个项目——当然我在 SQL 中达到了 2100 个参数限制,这导致我的第二个查询失败。我一直在寻找解决方法,例如 here 中描述的,但这实际上将我的查询更改为 LINQ-to-Objects,这会导致我的连接出现很多问题

还有其他解决方法吗?

最佳答案

因为 LINQ-to-SQL 可以调用存储过程,所以您可以

  • 有一个存储过程,它将数组作为输入,然后将值放入临时表中以加入
  • 同样采用存储过程拆分的字符串

或者自己将所有值上传到临时表并加入该表。

但是也许你应该重新考虑这个问题:

  • 可以将 SQL Server 配置为允许查询其他数据库(包括 Oracle)中的表,如果允许,这可能是您的一个选项。
  • 您能否使用一些复制系统来更新 DB2 中的行程编号表?

关于c# - 避免 LINQ to SQL 中的 2100 个参数限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6122185/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com