I have five Models (tables). I want to select all trainings which Venue_Distrcit is accessible by user whose ID is 1. But I prefer if can be solved with .Contains like firstTrainingSet. Also I have practiced with .Foreach but can't fix the proper format.
1. TRAINING 2. TRAINING_VENUE 3. DISTRICT | ID | NAME | VENUE_ID | | ID | NAME | DCODE | | DCODE | NAME | 4. TRAINING_USER 5.TRAINING_USER_DISTRICT_MAPPING |ID | NAME | | ID | USER_ID | DCODE| var TRAINING_USER_ACCESSIBLE_DISTRICT_LIST = (from trainingUserDistrictMappingTable in db.TRAINING_USER_DISTRICT_MAPPING where (trainingUserDistrictMappingTable.TRAINING_USER_ID == 1) select trainingUserDistrictMappingTable).ToList(); var trainingSet = db.TRAINING.Where(x => TRAINING_USER_ACCESSIBLE_DISTRICT_LIST.DCODE .Contains(x.TRAINING_VENUE.DCODE)); Here I need trainingSet. And x.TRAINING_VENUE.DCODE means that x is TRAINING parameter and x.TRAINING_VENUE can be fetched because VENUE_ID of TRAINING table is foreign key from VENU table ID, and x.TRAINING_VENUE.DCODE is DOCDE from venue table. Which is actually primary key of DISTRICT table. TRAINING_USER_ACCESSIBLE_DISTRICT_LIST is list from DISTRICT table. The thing I can not do is TRAINING_USER_ACCESSIBLE_DISTRICT_LIST.DCODE.Contains(x.TRAINING_VENUE.DCODE).