Объект Query Entity Framework и дочерний объект с одним запросом - PullRequest
1 голос
/ 06 октября 2010

У меня есть два объекта Entity Framework с отношением один-ко-многим:

widget (родительский) и widgetNail (дочерний)

Виджет имеет текстовый столбец: заголовок WidgetNail имеет текстовый столбец: Описание

Я хотел бы создать запрос, который будет возвращать список виджетов, соответствующих одному из двух критериев:

  1. Текстовая строка находится в заголовке виджета, или
  2. Такая же текстовая строка найдена в любом описании WidgetNail.

Пока у меня есть это, которое не работает ...

from widget in entities.Widgets
from widgetNail in entities.WidgetNails
where widget.Title.Contains(searchText)
|| widgetNail.Description.Contains(searchText)
select widget).ToList();

1 Ответ

2 голосов
/ 07 октября 2010

Относительно

2. Та же текстовая строка встречается в любом описании WidgetNail.

Вы имеете в виду среди детей текущего виджета?

(from widget in entities.Widgets
where widget.Title.Contains(searchText) || widget.WidgetNails.Any(wn => wn.Description.Contains(searchText))
select widget).ToList();

или свободный синтаксис:

entities.Widgets.
         Where(w => w.Title.Contains(searchText) ||
                    w.WidgetNails.Any(wn => wn.Description.Contains(searchText))).
         ToList();
...