Pessoal,
Estou a pouco tempo trabalhando com LINQ e antes de começar a desenvolver com esta tecnologia resolvi fazer uns teste e me deparei com uma situação complicada, segue abaixo meu cenário:
Tenho em uma solution 3 projetos, um é uma Class Library com meu .dbml e uma classe que faz um select em duas tabelas que constam no meu .dbml, segue select abaixo:
public
static IEnumerable GetTeste()
{
DataClasses1DataContext db = new DataClasses1DataContext();
var objPessoa = from p in db.tblPessoas
where SqlMethods.Like(p.Nome, "Debora")
select new { p.NomeCompleto, p.tblEnderecos.First().Municipio };
return objPessoa.ToList();
}
O segundo projeto é um WebService que contém um .asmx que nele temos um WebMethod que chama o metodo acima, segue:
public
class Service1 : System.Web.Services.WebService
{
[
WebMethod]
public IEnumerable ConsultaPessoa()
{
return ClassLibrary1.tblPessoa.GetTeste();
}
}
O último projeto é um webapplication na qual eu adicionaria uma web reference do webservice acima, para depois instância-lo e preencher um grid.
Sei que poderia colocar um select direto no grid e desse jeito funciona, porém por alguns motivos estou tendo que utilizar o web method.
O problema é quando eu tento pegar o caminho do webservice para fazer referencia no webapplication ele dá o seguinte erro:
Cannot serialize interface System.Collections.IEnumerable.
Alguém pode me ajudar??????