Как мне перевести запрос linq в цепочку методов расширения с лямбда-выражениями? - PullRequest
0 голосов
/ 22 марта 2012

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

public _Deposito RegresaDepositosBancarios(int id)
        {
            return (from d in context.depositos_bancarios
                    where d.IDDeposito == id
                    select new _Deposito
                    {
                        idDeposito = d.IDDeposito,
                        cantidad = d.Monto,
                        fecha = d.FechaDeposito,
                        aplicado = d.Aplicado

                    }).Single();
        }

Обратите внимание, что я возвращаю тип _Deposito, как мне добиться этого с помощью методов расширения?

Мне нужно что-то вроде следующего:

public Persona RegresaPersonaPorNombres(string nombres, string apellidoP, string apellidoM)
        {
            var p = context.personas.Where(x => x.Nombres == nombres &&
                                               x.ApellidoP == apellidoP && 
                                               x.ApellidoM == apellidoM).FirstOrDefault();
            return p;
        }

Я не хочу возвращать тип сущности, но пользовательский тип вместо

1 Ответ

4 голосов
/ 22 марта 2012

Вот как это можно написать с помощью методов расширения, но вам действительно не нужно беспокоиться, поскольку они оба - одно и то же.1004 * в Where и затем e=> в Select.Принимая во внимание, что d распространяется на всю фразу.Единственный способ сбросить его - использовать фразу let .Это не имеет ничего общего с прямым вопросом, но я просто подумал, что это интересно, и хотел указать на это:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...