.net - Can't transform Linq to IEnumerable -


i have method on dal class:

public ienumerable<pedidos> pedidos_listar()     {         using (var context = new ohmioentities())         {                           var _ped =                  pedidos in context.pedidos                 pedidos.id_cliente == 1                 select new {pedidos.id_pedido, pedidos.fecha, pedidos.clientes};             return _ped.tolist();         }     }         

and vs give error:

    error   3   no se puede convertir implícitamente el  tipo 'system.collections.generic.list<anonymoustype#1>'  en 'system.collections.generic.ienumerable<ohmio.modellayer.pedidos>'.  ya existe una conversión explícita (compruebe si le falta una conversión) 

what i'm doing wrong here?thanks

edit more info: pedidos defined pocos db class work fine:

public ienumerable<pedidos> pedidos_listar()         {             using (var context = new ohmioentities())             {                 return context.pedidos.tolist();             }         }        

but need use linq select field , clause. when try suggested:

public ienumerable<pedidos> pedidos_listar()         {             using (var context = new ohmioentities())             {                               var _ped =                      pedidos in context.pedidos                     pedidos.id_cliente == 1                     select new pedidos {pedidos.id_pedido, pedidos.fecha, pedidos.clientes};                 return _ped.tolist();             }         }         

i error:

    can't inicialize type 'ohmio.modellayer.pedidos' colection inicializer because  don't implement 'system.collections.ienumerable' (manual translate) 

i'm missing here? thanks!

you're not returning type said would. you're returning anonymous type. fix projecting known type:

public ienumerable<pedidos> pedidos_listar()     {         using (var context = new ohmioentities())         {                           var _ped =                  pedidos in context.pedidos                 pedidos.id_cliente == 1                 select new pedidos {id = pedidos.id_pedido, fecha = pedidos.fecha, clientes = pedidos.clientes};             return _ped.tolist();         }     }   

or if don't need projection , returning ef model directly:

public ienumerable<pedidos> pedidos_listar()     {         using (var context = new ohmioentities())         {                           var _ped =                  pedidos in context.pedidos                 pedidos.id_cliente == 1                 select pedidos;             return _ped.tolist();         }     }   

or simply:

public ienumerable<pedidos> pedidos_listar()     {         using (var context = new ohmioentities())         {                           return context.pedidos.where(p => p.id_cliente == 1);         }     } 

Comments

Popular posts from this blog

java - WrongTypeOfReturnValue exception thrown when unit testing using mockito -

php - Magento - Deleted Base url key -

android - How to disable Button if EditText is empty ? -