0

私は正常に機能するlinqデータベース機能を持っていますが、私の制御外にある特定の情報を保持する型に変更を加える必要がありました。

現在の状況は、情報が辞書に保存されている asp.net 3.5 サイトを持っていることです。

私が持っていたコードは

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

ご覧のとおり、 where r.RuleID == rule.RuleID を除外します

大丈夫ですが、「r」はもはやオブジェクトではなく、辞書になりました。

linqクエリ内でキー(「RuleID」)を提供することにより、辞書の値を取得する方法はありますか?

どんな提案でも大歓迎ですが、一時的な変換でない限り、4.0に更新することはできず、データをオブジェクトに保存することはできません

4

2 に答える 2

1

あなたが求めたもの(dictで値を取得する方法、キーを提供する方法):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 に答える