【发布时间】:2010-06-08 11:39:21
【问题描述】:
这就是我的情况:我有一个供应商提供的我们无法修改的数据库,以及一个从供应商应用程序导入数据并对其进行操作的自定义数据库。一旦从供应商应用程序导入记录,它们就不能出现在要导入的记录列表中。此外,我们只想显示尚未导入的 250 条最新记录。
我最初是选择从自定义数据库中导入的 id 列表,然后使用 .Where(x => !idList.Contains(x.远程查询上的 Id)) 子句。
直到我们打破了导入自定义数据库的 2100 条记录,因为 2100 是可以传递到 SQL 的参数数量的限制。在发现这是实际问题而不是 ADO.Net 报告的“无效缓冲区”/“严重错误”后,我的解决方案是删除远程查询中的前 2000 个 id,然后删除本地查询中的剩余记录。
不得不拉回大量不相关的记录,只是为了排除它们,这样我才能得到正确的 250 条记录,这似乎很不雅。除了执行跨数据库存储过程之外,还有更好的方法吗?
提前致谢。
【问题讨论】:
标签: linq-to-sql