Откуда берутся?
Where
принимает делегата Func
, который принимает экземпляр любого типа сбора, который вы используете. В этом случае это будет Func<Order, bool>
. Ваш оператор Lambda объявляет анонимную функцию, которая соответствует делегату. o
- это просто вход Order
. Вы можете назвать его как хотите. Если вы написали свою функцию в долгосрочной стороны, это будет выглядеть примерно так:
public bool AnonymousFunction(Order o)
{
return o.Customer == User.Identity.Name;
}
Если вы запрашиваете с помощью LINQ к объектам, этот делегат будет вызываться для каждого из элементов, чтобы найти те, в коллекция, которая соответствует. Если вы запрашиваете LINQ to SQL (или какой-либо другой поставщик запросов), ваш делегат будет преобразован в дерево выражений, которое будет использоваться для генерации фактического синтаксиса запроса.
Откуда у пользователя User.Identity.Name?
Я предполагаю, что вы находитесь в каком-то веб-приложении и User.Identity вытаскивает зарегистрированные данные пользователя из токена аутентификации форм.
Это не относится к объекту. Сделайте поиск по лямбда-выражениям. Вот что это. Но это в основном просто функция. «O» - это то, что вы переходите в функцию. –
См. Этот [родственный вопрос] (http://math.stackexchange.com/q/646238). –