У меня есть класс пользователи с следующим форматом:LINQ Включить близлежащую коллекцию (около таблицы) и свойство
List<Subscriptions> Subscriptions {get;set;}
И классом подписки содержит:
SubscriptionType type {get;set;}
Я хотел бы, чтобы включить все эти в объект User:
var _referredUser = ctx.Users
.Include(x=>x.Subscriptions.Where(y=>y.Status==true))
.ToList()
.FirstOrDefault(y => y.Email == _all[i].Referred_email);
Я могу успешно включить сбор подписей, но я не как я могу пойти дальше за подпиской и включить свойство SubscriptionType в объект User, если это возможно?
Мой другой вопрос также заключается в том, могу ли я включать только те подписки, которые имеют статус == true, потому что пользователь может иметь несколько записей в таблице подписки и только один, который установлен в true?
Я пытался что-то вроде этого, но он бросает мне ошибку:
.Include(x=>x.Subscriptions.Where(y=>y.Status==true))
Ошибка является:
The Include path expression must refer to a navigation property defined on the type. Use dotted paths for reference navigation properties and the Select operator for collection navigation properties.
Может кто-то помочь мне с этим LINQ?
проверить ответ Шейна, работает довольно приятно =) – User987
По-видимому, он может использовать оператор select внутри самого оператора include ..? – User987
Да, но вы можете использовать 'Select', чтобы включить другой внутренний уровень, ссылаясь на другое свойство навигации, вы не можете использовать' Where' внутри фильтра – octavioccl