2016-08-24 2 views
0

------- игнорируйте данное POST ----------Получить все родители, у которых есть дети, использующие C# лямбда-выражение

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

Я так устал Я не должен работать с тяжелой машиной или клавишами.

Я помечаю ответ ниже как правильный, потому что он, безусловно, есть.

------ END ОТКАЗ ------------

Как бы я написать лямбда-запрос для следующего сценария?

All Barcodes have a Category, but not all Categories have a Barcode. 

Select all Categories that have a Barcode. 

Ищете что-то вдоль линий:

var categories = db.Categories.Where(...) 

Этот вопрос, вероятно, уже есть ответ, но я, видимо, не хватает условий поиска, чтобы найти его.

Спасибо!

+1

фактически не зная структуру класса, я просто угадать: 'вар категории = db.Categories.Where (с => c.Barcodes.Any())' –

+0

Это звучит подозрительно, как домашнее задание вопрос. – itsme86

+0

Это вопрос о домашнем задании. Или часть одного. За исключением того, что я пишу вопросы. – crowhill

ответ

3
var categories = db.Categories.Where(category => category.Barcodes.Any()) 

или, возможно,

var categories = db.Categories.Where(category => category.Barcode != null) 
1
var catsWithBarCode = Categories.Where(c => c.Barcode != null); 
0

Из описания отношение, кажется: Категория {1} --- {0,1} Штрих

Если размер Категории чрезвычайно велика (она всегда больше, чем штрих-коды), альтернатива будет более результативной.

Barcodes.Select(c => c.Category); 
Смежные вопросы