using System.Collections.Generic;
public static void Main()
Dictionary<ClassA, List<ClassB>> MyDict = Enumerable.Range(0,10).Select(i => i).ToDictionary(
i => new ClassA(){ Name = i.ToString(), Id = i},
new ClassB(){ Tag = i.ToString(), Text = i.ToString() },
new ClassB(){ Tag = (i+10).ToString(), Text = (i+10).ToString() }
IEnumerable<KeyValuePair<ClassA,List<ClassB>>> q = MyDict.ToDictionary(k => k.Key, k => k.Value.Where(b => b.Tag == "10").ToList()).Where(kv => kv.Value.Any());
Console.WriteLine(q.First().Value.First().Tag);