2015-03-28 3 views
-5

Я делаю запрос, и я хочу выполнить поиск в DB для «Branchid» (pic2), который находится в таблице «RentsOrder» (pic2), но по мере того, как я добавляю точку в запросе после RentsOrders (pic1), я получаю список функций коллекции, и я не знаю, как их использовать, чтобы перейти в список и найти BarnchId, равный поддержке BranchIdКак использовать функции списка для запроса linq?

Вы можете видеть, что в CarType, когда я добавил точку, я получил "Год" подпирать

pic1

pic2

+0

Какой? Я думаю, что у вас есть соотношение 1: n от автомобиля до RentsOrder. –

+2

Пожалуйста, напишите [фактический код] (http://stackoverflow.com/help/mcve), а не скриншоты кода. Пожалуйста, объясните, что вы пытаетесь сделать, что происходит, когда вы пытаетесь, и как это отличается от того, что вы ожидали или хотели. См. Http://stackoverflow.com/help/how-to-ask за советом о том, как представить свой вопрос ясным, ответным образом. –

+0

henk - это правильно, у меня есть 1: n, вы можете увидеть его в pic2, это не проблема. Я просто не знаю, как работать со всеми заказами BranchId, поэтому я могу сравнить их с prop BranchId, которые пользователь присылает мне. ..... –

ответ

0

Попробуйте followi ng:

var query _db.Cars 
    .Where 
    (
     z => z.CarType.Year == Year && 
     z.CarType.Gear == Gear && 
      z.RentOrders 
      .Max 
      (
       x => x.ActualEndDate 
      ) < startRent && 
      z.RentOrders 
      .Max 
      (
       x => x.ActualEndDate 
      ) < endRent && 
     z.CarType.Manufacture.ManufactureName == manufactureName && 
     z.RentOrders.Where(x => x.BranchId == BranchId).ToList() 
    ).ToList(); 

Я рекомендую вам больше познакомиться с Лямбдой и Линком. Оператор => лямбда позволяет вам получить доступ к свойствам одного экземпляра объекта. Аналогично тому, как вы используете z или x для доступа к свойствам связанных объектов.

Итак, у вас есть коллекция RentOrders, один экземпляр будет 1 из них в коллекции.

Для получения дополнительной информации обратитесь к следующей информации: => Operator (C# Reference)

+0

Привет, Джеймс - Сначала спасибо! второй я уже пробовал, это приносит мне ошибку компиляции: Оператор '&&' не может быть применен к операндам типа 'bool' и 'System.Collections.Generic.IEnumerable ' от чего Я понимаю, что выражение лямбда возвращает bool? –

+0

Добро пожаловать. Нет. Lambda или Linq вернет вам все, что вы запрашиваете, в зависимости от того, что вы пытаетесь сделать. –

+0

Не могли бы вы разместить исключение и полный запрос, который вы пытаетесь выполнить? Потому что то, что я написал, должно было сделать трюк, если вы не добавили дополнительных ограничений. –

Смежные вопросы