Okay the answer is simple.
You can't filter when using Eager Loading or Lazy Loading for that matter. Myself and a couple of freelancers tried all kinds of methods but the answer was to load the markets and the properties and then comment out the following line of code:
'OMRMarketsQuery = OMRMarketsQuery.Include("Properties.OMRBuildingSurveys")
To load the survey detail we caught the Property Selector listbox changed event and that is where we could filter as follows:
Private Sub Lbx_PropsByNameSelector_SelectionChanged(sender As Object, e As SelectionChangedEventArgs) Handles Lbx_PropsByNameSelector.SelectionChanged
Dim propertyAdListBox = CType(sender, ListBox)
Dim selectedProperty = CType(propertyAdListBox.SelectedItem, OMRInterfaceCustomCode.Property)
If Not IsDBNull(selectedProperty) Then
Dim RSurveysQuery = From r In OMRInterfaceEntities.OMRBuildingSurveys Where r.PeriodID > 80 And r.PropertyID = selectedProperty.ID
Dim RSurveysList = RSurveysQuery.ToList
If RSurveysList.Any() Then
Dim RecentSurveysSource = CType(Me.FindResource("OMRMarketsPropertiesOMRBuildingSurveysViewSource"), CollectionViewSource)
RecentSurveysSource.Source = RSurveysList
End If
End If
End Sub