Ir para conteúdo
Fórum CódigoFonte.net

Pesquisar na Comunidade

Showing results for tags 'Entity Framework'.



More search options

  • Search By Tags

    Digite tags separadas por vírgulas
  • Search By Author

Tipo de Conteúdo


Fóruns

  • Programação
    • Cgi-Perl
    • PHP
    • Delphi
    • CSS
    • .NET
    • JAVA
    • ASP
    • HTML
    • Javascript
  • Banco de dados
    • PostgreSQL
    • SQL Server
    • XML
    • MySQL
    • Access
    • Outros
  • Desenvolvimento
    • Tableless
    • DreamWeaver
    • FrontPage
    • Flash
    • AJAX
  • Design
    • Corel Draw
    • FireWorks
    • PhotoShop
    • Outros aplicativos
  • Conteúdo Técnico
    • Hardware e Software
    • Sistemas Operacionais
    • Segurança & Malwares
  • Diversos
    • Apresentações
    • Parcerias
    • Outros Assuntos
    • Fale Conosco
    • Sugestões
    • Seus Trabalhos
  • Atualidades
    • Livros
    • Alertas da Internet

Find results in...

Find results that contain...


Data de Criação

  • Início

    End


Data de Atualização

  • Início

    End


Filter by number of...

Data de Registro

  • Início

    End


Grupo


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests

Encontrado 1 registro

  1. Pessoal, estou com um problema que não consigo resolver. Resolvi mapear duas tabelas com um relecionamento Many to Many e não estou conseguindo fazer uma consulta correta. As tabelas são bem simples: Livro (Id_livro int , Titulo varchar(255)) Autor (id_Autor int , Nome varchar(255)) Autor_Livro (id_livro int , Id_autor int ) Ao criar o modelo, ele mapeia em duas Classes (Livro e Autor). A tabela Autor_Livro não é criada, mas sim é mapeada como um relacionamento Many to Many entre Livro e Autor. O problema: Fazer uma consulta que relacione o titulo do livro e o seus autores Em SQL seria um join simples SELECT Livro.Titulo, Autor.Nome FROM Autor INNER JOIN Autor_livro ON Autor.Id_autor = Autor_livro.id_autor INNER JOIN Livro ON Autor_livro.Id_livro = Livro.id_livro ORDER BY Livro.Titulo Que teria um resultado como por exemplo: Titulo, Autor Livro 1, Autor 1 Livro 1, Autor 2 Livro 2, Autor 2 Livro 3, Autor 1 Livro 3, Autor 3 Tentativa 1: Dim ct As New MyModel Dim lista = From L In ct.Livro From A In ct.Autor Order By L.Titulo Select L.Titulo, A.Nome GridView1.DataSource = lista GridView1.DataBind() Resultado: gera um produto cartesiano (a consulta SQL gerada faz um cross join). Tentativa 2: Dim ct As New MyModel Dim lista = From L In ct.Livro From A In ct.Autor Where A.Livro.Contains(L) Order By L.Titulo Select L.Titulo, A.Nome GridView1.DataSource = lista GridView1.DataBind() Resultado: faz a consulta correta mas gera um SQL muito ruim. SELECT [Extent1].[id_livro] AS [id_livro], [Extent1].[Titulo] AS [Titulo], [Extent2].[Nome] AS [Nome] FROM [dbo].[Livro] AS [Extent1] CROSS JOIN [dbo].[Autor] AS [Extent2] WHERE EXISTS (SELECT 1 AS [C1] FROM (SELECT [Autor_livro].[id_livro] AS [id_livro], [Autor_livro].[id_autor] AS [id_autor] FROM [dbo].[Autor_livro] AS [Autor_livro]) AS [Extent3] WHERE ([Extent2].[id_autor] = [Extent3].[id_autor]) AND ([Extent3].[id_livro] = [Extent1].[id_livro]) ) ORDER BY [Extent1].[Titulo] ASC Tentativa 3: usar a clausula JOIN no Linq. Não foi possível, já que não existe a classe Titulo_Autor, já o mapeamento é Many to Many. Desafio: fazer a consulta LINQ em entidades com relacionamento Many to Many e que use Inner joins. Alguém pode dar uma ajuda?
×
×
  • Criar Novo...