Inquiridor
tabela que une outras duas tabelas

Pergunta
-
Olá pessoal. Estou com uma dúvida que é a seguinte:
Tenho três tabelas: tab_A (campo_A (PK), campo_B, campo_C), tab_B (campo_D (PK), campo_E) e tab_C (tab_A.campo_A (FK), tab_B.campo_D (FK)).
1º- No meu model não aparece a a tab_C
2º- Na minha lambda expression, qdo eu coloco tab_A. , aparece uma referencia da tab_B (tab_A.tab_B), mas não aparece campos. Como eu posso pegar os dados da tab_C que está relacionando tab_A e tab_B?
Estou usando .net 4.
Att.,
Eduardo.
Todas as Respostas
-
e ai eduardo,
cara, tu pode modelar este banco, pq eu prefiro normalmente adicionar a FK no direto entre as tab a e b, mas da maneira q ta eu adicionaria a tab_c no model,
dai ficaria algo assim na labmda:
db.tab_a.Where(a => a.campo_a == c.campo_a).Select(x => x.campo_d)
se eu entendi bem seria algo mais ou menos assim,
tem outras maneiras mas desse jeito fica facil de tu entender como fazer
-
Olá Eduardo,
Neste caso quando você faz o mapeamento entre três tabelas e a terceira neste caso é apenas contém as chaves, no modelo de objetos ela não aparece mesmo, pois não é preciso, isso fica somente no modelo relacional que é preciso para o banco de dados.
Então não pe preciso na verdade no modelo de objetos acessar os campos da tabela C, basta usar as tabelas A e B, e precisando por exemplo de adicionar uma linha em B relacionada com A é só fazer na tabela A que o Linq irár traduzir isso para o modelo relacional.
Se tiver dúvidas post aqui o modelo identificando se está usando Entity Framework ou o que seja.
Até mais.
-
-
Olá Eduardo,
No caso da sua terceira tabela vc terá de criar um comando SQL para inserir os dados no banco de dados...
Dentro do DataContext do Entity Framework existe o método "ExecuteStoreCommand", onde vc pode passar um comando SQL para que o mesmo seja executado...
[]s!
Fernando Henrique Inocêncio Borba Ferreira
while(alive){ this.WriteCode(); }
Blog: http://ferhenriquef.wordpress.com/
Twitter: @ferhenrique