Usuário com melhor resposta
Como fazer uma consulta linq com 3 classes/tabelas?

Pergunta
-
Pessoal,
Tenho 3 classes: Pessoa, Contato (Telefones) e TipoContato (No campo "Descricao": Principal, Celular, etc) e gostaria de exibir apenas o telefone "Principal"
O método abaixo retorna a Pessoa em questão:
Pessoa objPessoa = (from pessoa in dataContext.GetTable<Pessoa> where pessoa.Nome.Contains(<parametro>) select paciente).FirstOrDefault();
Na tela quero exibir o Contato "Principal", como abaixo:
txtContato.Text = objPessoa.Contatos.Select(x => x.DescricaoContato).where( x => x.Contatos.tipoContato.DescricaoContato.Equals("Principal"))
Porém, no where, o x não localiza o Contatos, ou seja, não é uma atribuição implícita.
Enfim, alguém sabe como ficaria este select?
Respostas
-
tenta assim:
txtContato.Text = objPessoa.Contatos.Where(x=> x.TipoContato.DescricaoContato.Contains("Principal"));
Elvis Rodrigues
Analista Desenvolvedor .Net
MCP .Net Framework 2.0, MCTS SQL Server 2005
foxelv@hotmail.com- Marcado como Resposta BrunoCosta.dsn sexta-feira, 13 de agosto de 2010 22:10
-
Olá,
Vc vai precisar fazer algo parecido com isso
Pessoa objPessoa = (from pessoa in dataContext.GetTable<Pessoa> where pessoa.Nome.Contains(<parametro>) select new Pessoa() { Pessoa.Nome = pessoa.Nome Pessoa.Contato = pessoa.TB_CONTATO, Pessoa.Contato.TipoContato = pessoa.TB_CONTATO. TB_TIPO_CONTATO }).FirstOrDefault();
Att,
Anderson- Marcado como Resposta BrunoCosta.dsn sexta-feira, 13 de agosto de 2010 22:10
Todas as Respostas
-
-
tenta assim:
txtContato.Text = objPessoa.Contatos.Where(x=> x.TipoContato.DescricaoContato.Contains("Principal"));
Elvis Rodrigues
Analista Desenvolvedor .Net
MCP .Net Framework 2.0, MCTS SQL Server 2005
foxelv@hotmail.com- Marcado como Resposta BrunoCosta.dsn sexta-feira, 13 de agosto de 2010 22:10
-
Olá,
Vc vai precisar fazer algo parecido com isso
Pessoa objPessoa = (from pessoa in dataContext.GetTable<Pessoa> where pessoa.Nome.Contains(<parametro>) select new Pessoa() { Pessoa.Nome = pessoa.Nome Pessoa.Contato = pessoa.TB_CONTATO, Pessoa.Contato.TipoContato = pessoa.TB_CONTATO. TB_TIPO_CONTATO }).FirstOrDefault();
Att,
Anderson- Marcado como Resposta BrunoCosta.dsn sexta-feira, 13 de agosto de 2010 22:10