यहाँ मेरी क्वेरी:त्रुटि() को फिल्टर
var x = db
.Users
.Where(u => u.Locations.Any(l => searchedLocation.Counties.Any(c => c.LocationId == l.LocationId));
प्रसंग:
Users
IQueryable<User>
है। (ईएफ ऑब्जेक्ट सेट)searchedLocation
Location
ऑब्जेक्ट है।Counties
ICollection<MiniLocation>
है।
क्या मुझे क्या करना कोशिश कर रहा हूँ:
वापसी सभी उपयोगकर्ताओं, जहां उन स्थानों के लिए काउंटी में से किसी की खोज स्थान से संबंधित काउंटियों में से किसी भी एक locationId है।
उदाहरण: बॉब: न्यूयॉर्क शहर (LocationId = 1. County1LocationId = 2)
उपयोगकर्ता के लिए
खोजें। स्थान: सोहो। काउंटी 1LocationId = 2. काउंटी 2 स्थान आईडी = 3.
तो यह एक मैच है। (क्योंकि सोहो 2 के एक LocationId के साथ एक काउंटी है, और इसलिए NYC करता है)
त्रुटि मैं प्राप्त करते हैं:
प्रकार 'xxx.xxx.Locations.MiniLocation' की एक निरंतर मूल्य बनाने में असमर्थ । इस संदर्भ में केवल आदिम प्रकार (जैसे इंट 32, स्ट्रिंग, और ग्विड ') समर्थित हैं।
कोई विचार?
आप .Join के साथ प्रयास करें() किया? –