Я хочу получить комиссионные с определенным номером заказа.Оператор Linq терпит неудачу с динамическим, где статья
Это работает:
var expression = from commission in db.Auftraege
where commission.Auftragsnummer == orderNbr
select new Commission() { EF_Commission = (commission as Auftrag) };
return expression.ToList();
Однако, если я преобразовать это использовать динамический, где пункт (потому что я хочу, чтобы применить некоторые дополнительные фильтры), не кажется, где-пункт будет применяться. Вместо этого, все комиссии будут возвращены, а не только тех, с определенным номером:
//base query
var expression = from commission in db.Auftraege select new Commission() { EF_Commission = (commission as Auftrag) };
//now add a where clause if the input parameter was specified
if (orderNbr >= 0)
expression.Where(commission => commission.EF_Commission.Auftragsnummer == orderNbr);
return expression.ToList();
Я посмотрел на десяток примеров, но все они, кажется, сделать это таким образом. У кого-нибудь есть идея, почему второй запрос игнорирует предложение where?
О, что дешевая ошибка:/ Спасибо, теперь он работает отлично ... – Cleo
@ user1870077 Оооо ... Я был там, много раз, я сам! –