Array
(
)

Linq - problema com n-camadas

Americo.junior
   - 27 mai 2008

Estou desenvolvendo uma aplicação asp.net em 3 camadas, quando tento realizar uma consulta com o linq e join aparece o seguinte erro:

Error 1 Cannot implicitly convert type ´System.Collections.Generic.List<AnonymousType#1>´ to ´System.Collections.Generic.List<Dados.GRMODELO>´

segue o codigo:

Classe GrModeloDad:

public static List<GRMODELO> SearchConjunto()
{
WebDataDataContext dataClass = new WebDataDataContext();

var mode = from p in dataClass.GRMODELOs
join c in dataClass.GRMARCAs on p.Marca equals c.MarcaID
select new
{
p.ModeloID,
p.Modelo,
c.Marca
};

List<GRMODELO> modelo = mode.ToList();

return modelo;
}

Classe GrModeloNeg:

public static List<GRMODELO> SearchConjunto()
{
return Dados.GrModeloDad.SearchConjunto();
}

Agradeço desde já!!

JR.

Burnbr
   - 30 mai 2008

Boa tarde,

nao conheco muito de linq ams acho que o motivo é que vc ta esperando um retorno

List<GRMODELO> modelo = mode.ToList();
vindo do ToList

mas vc nao retorna um GRMODELO

mas sim um

select new
{
p.ModeloID,
p.Modelo,
c.Marca
};

ai vc teria que retonar um GRMODELO

Att

Americo.junior
   - 30 mai 2008


Citação:
Boa tarde,

nao conheco muito de linq ams acho que o motivo é que vc ta esperando um retorno

List<GRMODELO> modelo = mode.ToList();
vindo do ToList

mas vc nao retorna um GRMODELO

mas sim um

select new
{
p.ModeloID,
p.Modelo,
c.Marca
};

ai vc teria que retonar um GRMODELO

Att


o select new retorna um tipo anonimo, este é o problema, preciso do new para retornar os campos que preciso e depois converter o tipo anonimo para um tipo ou list