0

我有一个运行良好的 linq 数据库函数,但是必须对包含某些我无法控制的信息的类型进行更改。

当前情况是我有一个 asp.net 3.5 站点,信息存储在字典中。

我的代码是

Table.Insert(_rules.RuleList
                     .Where(rule => !ruleRecords
                            .Any(r => r.RuleID == rule.RuleID)
             ));

如您所见,它不包括 r.RuleID == rule.RuleID

一切都很好,但是 'r' 不再是一个对象,现在是一个字典。

有什么想法可以通过在 linq 查询中提供键(“RuleID”)来获取字典的值吗?

非常感谢任何建议,但是我无法更新到 4.0,并且我不能将数据不存储在对象中,除非它可以是临时转换

4

2 回答 2

1

您的要求(如何获取字典中的值,提供密钥):,dict[key]所以在您的情况下r[rule.RuleID]

正如在另一个答案中指出的那样,您可能想要的是:字典。包含密钥

于 2012-05-17T17:31:03.010 回答
0

只要您的字典的键是RuleId,我认为您可以将其重写为:

Table.Insert(_rules.RuleList.Where(rule => !ruleRecords.ContainsKey(rule.RuleId))
于 2012-05-17T17:13:11.273 回答