Я использую Entity Framework в качестве основы для внешнего интерфейса базы данных WPF.Использование предложения Where в объекте Query Included Entities (Entity Framework)
Моя структура базы данных предназначена для офисных зданий, и для этой проблемы все, что вам нужно понять, это то, что объект верхнего уровня называется рынками (подумайте о пригородных или центральных деловых районах). У рынков есть много свойств и свойств, которые имеют множество Обзоров.
Я хочу ограничить опросы, полученные до последних 10 опросов (опросы проводятся каждые 6 месяцев).
Я могу видеть, как автоматически сгенерированный код построения запроса:
Dim OMRMarketsQuery As System.Data.Objects.ObjectQuery(Of OMR.OMRInterfaceCustomCode.OMRMarket) = OMRInterfaceEntities.OMRMarkets
OMRMarketsQuery = OMRMarketsQuery.Include("Properties")
OMRMarketsQuery = OMRMarketsQuery.Include("Properties.OMRBuildingSurveys")
Я хочу использовать где положение для фильтрации по свойству объекта OMRBuildingSurvey. Я могу написать где пункт, который будет фильтровать по идентификатору рынка (верхний уровень Entity), как это:
MRMarketsQuery = OMRMarketsQuery.Include("Properties.OMRBuildingSurveys").Where("it.ID >1000")
Но я хочу, чтобы фильтровать по свойству объекта OMRBuildingSurveys, и я не могу показаться, найти способ навигации по нему. Я пробовал:
OMRMarketsQuery = OMRMarketsQuery.Include("Properties.OMRBuildingSurveys").Where("it.Properties.OMRBuildingSurvey.ID >1000")
Но я получаю ошибку:
An unhandled exception of type 'System.Data.EntitySqlException' occurred in System.Data.Entity.dll
Additional information: 'OMRBuildingSurvey' is not a member of 'Transient.collection[OMRInterfaceModel.Property(Nullable=True,DefaultValue=)]'. To extract a property of a collection element, use a subquery to iterate over the collection.
Если кто-то может мне точку в правильном направлении, я бы очень признателен!
Большое спасибо и у нас отличный день!