У меня есть лямбда о том, что есть отображение, как это:Если оператор и задания в лямбда-выражения
public enum Status
{
Completed,
InComplete,
Ok
}
Запрос:
var courses = query.Select(c => new SomeModel
{
Status = c.someQuery() ? Status.Completed : Status.Ok
});
Так что я хочу Статус, чтобы иметь несколько, если заявления и не только тройная операция. Напр.
var courses = query.Select(c => new SomeModel
{
Status = if(c.someQuery())
{
return Status.Completed;
}
else if(c.someOtherQuery())
{
return Status.InComplete;
}
else if(c.someOtherQuery1())
{
return Status.Ok;
}
});
Так как же я могу добиться чего-то подобного? Я использую ORM Framework.
Очень важно различать, используете ли вы ORM, такие как L2S или Entity Framework, который переводит ваши лямбды в SQL (в этом случае ваши параметры сильно ограничены), или это просто обычная лямбда. Другими словами, каков тип 'query'? –
@KirkWoll-запрос может работать в контексте, 'someQuery' может быть объединен, wheres, any и т. Д. Вместе. –
Если запрос L2S или EF, вам может потребоваться перечислить исходный запрос (например, вызвать '.ToList()'), прежде чем запускать для него тройное утверждение. –