The following query will work when the property is IDictionary in V2 & V3 and will also work with IReadOnlyDictionary in V2:
var results = queryable.Where(q => q.dict["This"] = "That").ToList();
But the combination of dict being IReadOnlyDictionary and running with LINQ V3 fails with the exception message:
Expression not supported: q.dict.get_Item("This").
The queryable class definition being:
class A { public ObjectId _id { get; set; public IReadOnlyDictionary dict { get; set; } }
This is causing some issues in the EF provider support for IReadOnlyDictionary.