Inquiridor
Selecionar todos registros de duas tabelas LINQ C#

Pergunta
-
Pessoal, como eu consigo retornar todas as colunas de duas tabelas usando join na expressão?
Segue meu código:
var data = from loc in local.SEG_LOCAL_TRABALHO join cid in local.CAD_MUNICIPIO on loc.ID_CIDADE equals cid.ID_MUNICIPIO select new { loc, cid };
quando eu uso o código acima ele traz separado as duas tabelas, o objetivo é:
BindingSource.DataSource = data;
Deve trazer todos os registros.
Obrigado
Leonardo Jacques da Silva Desenvolvedor .net
Todas as Respostas
-
Se quer mesmo agrupar eu conheço assim :
http://stackoverflow.com/questions/16871183/lambda-inner-join-and-select-all
-
Ao invés de retornar as duas tabelas select new { loc, cid };
Retorne os dados que irão compor o resultado final que necessita, conforme exemplo:
select new { loc.ID_CIDADE, cid.ID_MUNICIPIO };
Diego Cotini do Couto - MCTS .NET Framework 3.5, ASP.NET Applications
-
-
Testa ai mano,
var data = (from loc in local.SEG_LOCAL_TRABALHO join cid in local.CAD_MUNICIPIO on loc.ID_CIDADE equals cid.ID_MUNICIPIO select new { loc.SeuCampo, loc.SeuOutroCampo, cid.MaisUmCampo }).ToList(); bindingSource1.DataSource = data; dataGridView1.DataSource = bindingSource1;
- Editado Diego de Almeida Barreto (Lewis) quarta-feira, 16 de outubro de 2013 19:55
-
segue ex:
List<Pessoa> lista = new List<Pessoa>(); lista.Add(new Pessoa(1, "rafael")); lista.Add(new Pessoa(2, "ze")); lista.Add(new Pessoa(3, "joao")); lista.Add(new Pessoa(4, "miguel")); lista.Add(new Pessoa(5, "fatima")); lista.Add(new Pessoa(6, "eli")); List<Sala> listaSala = new List<Sala>(); listaSala.Add(new Sala("TURMA A", 1)); listaSala.Add(new Sala("TURMA B", 2)); listaSala.Add(new Sala("TURMA A", 3)); listaSala.Add(new Sala("TURMA A", 4)); listaSala.Add(new Sala("TURMA B", 5)); listaSala.Add(new Sala("TURMA C", 6)); var teste = (from tb1 in lista from tb2 in listaSala where tb1.Id == tb2.IdAluno select new { ID_ALUNO = tb1.Id, NOME_ALUNO = tb1.Nome, TURMA = tb2.DescrSala }).ToList();
--Rafael Albuquerque
-
Na verdade o meu objetivo é de não precisar especificar os campos, eu quero que o resultado seja como no próprio sql server:
SLEECT * FROM CAD_CIDADE A JOIN CAD_SEG B
ON A.ID_CIDADE = B.ID_CIDADE
Leonardo Jacques da Silva Desenvolvedor .net
-
-
Na verdade o meu objetivo é de não precisar especificar os campos, eu quero que o resultado seja como no próprio sql server:
SLEECT * FROM CAD_CIDADE A JOIN CAD_SEG B
ON A.ID_CIDADE = B.ID_CIDADE
Leonardo Jacques da Silva Desenvolvedor .net
-
-
- Editado Diego de Almeida Barreto (Lewis) quarta-feira, 16 de outubro de 2013 20:45
-
Concordam que nao faz muito sentido no meu ponto de vista, imagina que vou ter umas 20 telas de cadastro, todas eu em algum momento vou usar os dados em uma gridview onde tenho relacionamento com outras tabelas, imagina o trabalho se eu tiver que escrever coluna por coluna.
vou continuar buscando mais informacoes, caos encontrem postem...
abracao
Leonardo Jacques da Silva Desenvolvedor .net
-
- Editado Diego de Almeida Barreto (Lewis) quinta-feira, 17 de outubro de 2013 02:03
-