3
我有一个字典,我想在SQL查询中使用像IN子句。LINQ到SQL和收集操作
我有一个Linq-to-SQL查询,我希望使用此Dictionary的键来检查查询行中的字段。
E.g.
bool result = DataContext.Table.Any(res => MyDictionary.ContainsKey(res.field1));
实际上,这类似于
exists(select * from Table where field1 in (select id from DictionaryKeys))
其中DictionaryKeys
将是一个扩张的钥匙到自己的表。
不幸的是,我得到
System.NotSupportedException was unhandled
Message="Method 'Boolean ContainsKey(System.String)' has no supported translation to SQL."
Source="System.Data.Linq"
我理解错误,但我努力想解决此问题,以不同的解决方案。
编辑︰我连接到SQL 2005.看起来这是一个连接提供程序问题,然后,因为马克的建议转换为列表不适用于我。
任何想法?
(对罗斯文测试 - 正常工作) – 2009-02-06 14:35:30