इसके बजाय इसे आजमाएं
Query.ElemMatch("Children", Query.And(Query.EQ("StatusId",1), Query.EQ("Active",true),Query.LT("SubChild.ExpiresOn",DateTime.UtcNow)));
आश्चर्य है कि यह क्वेरी जादुई रूप से क्यों काम करती है? यह मामला है (StatusId
बनाम StatusID
) जावास्क्रिप्ट केस संवेदनशील है।
आप दृढ़ता से टाइप की गई लिंक क्वेरी का उपयोग करके इस समस्या को समाप्त कर सकते हैं, जैसे:
from x in collection.AsQueryable()
where x.Children.Any(child =>
child.StatusId == 1
&& child.Active
&& child.SubChild.ExpiresOn < DateTime.UtcNow)
select x