none
Como passar uma sequence em uma entidade? RRS feed

  • Pergunta

  • Tenho o seguinte código:
    Dim aluno As Aluno
    
            Using contexto As New ContextoContext
    
                aluno = New Aluno
                'aluno.Id = seq_aluno
                aluno.Nome = txtNome.Text
                aluno.Telefone = txtTelefone.Text
                aluno.Email = txtEmail.Text
    
                contexto.Alunos.Add(aluno)
                contexto.SaveChanges()
    
            End Using
    repare que o campo que desejo passar a sequence está comentado. Desde já agradeço a atenção.

    Atenciosamente, Marcio Nogueira Cardoso Pinto.


    terça-feira, 8 de abril de 2014 13:29

Respostas

  • Olá Marcio, você deseja passar um sequence sql para sua variavel IDaluno ?

    Se for isso deve fazer o select na fonte de dados, mas não seria mais interessante esse id ser auto incremento ?

    • Marcado como Resposta Marcio_Nogueira terça-feira, 8 de abril de 2014 13:59
    terça-feira, 8 de abril de 2014 13:42
  • Olá Marcio, até onde eu sei o Entity não suporta mapeamento de sequence do PostGreeSql, qual a versão de seu Entity ? 

    O que você poderia fazer é um trigger que ao verificar o insert ele gera o id automaticamente para você...

    Talvez o Entity 6 mas não testei com PostGreeSql.

    • Marcado como Resposta Marcio_Nogueira terça-feira, 8 de abril de 2014 15:06
    terça-feira, 8 de abril de 2014 14:40
  • Cara, você pode criar no banco de dados a coluna id com o tipo "serial" ou "bigserial". Automaticamente ele já cria a sequence pra ti com o id auto incrementável.
    terça-feira, 8 de abril de 2014 15:27
  • Tem sim. utilizo o postgresql em vários projetos e sempre utilizo esse recurso.
    • Marcado como Resposta Marcio_Nogueira terça-feira, 8 de abril de 2014 15:40
    terça-feira, 8 de abril de 2014 15:33

Todas as Respostas

  • Olá Marcio, você deseja passar um sequence sql para sua variavel IDaluno ?

    Se for isso deve fazer o select na fonte de dados, mas não seria mais interessante esse id ser auto incremento ?

    • Marcado como Resposta Marcio_Nogueira terça-feira, 8 de abril de 2014 13:59
    terça-feira, 8 de abril de 2014 13:42
  • Sim, de fato, poderia ser auto incremento, porém minha base de dados é PostgreSQL que faz uso de uma sequence para gerar o id na tabela Aluno.

    Atenciosamente, Marcio Nogueira Cardoso Pinto.

    terça-feira, 8 de abril de 2014 14:01
  • Olá Marcio, até onde eu sei o Entity não suporta mapeamento de sequence do PostGreeSql, qual a versão de seu Entity ? 

    O que você poderia fazer é um trigger que ao verificar o insert ele gera o id automaticamente para você...

    Talvez o Entity 6 mas não testei com PostGreeSql.

    • Marcado como Resposta Marcio_Nogueira terça-feira, 8 de abril de 2014 15:06
    terça-feira, 8 de abril de 2014 14:40
  • Estou usando o Entity Framework 4 no VS 2010.

    Atenciosamente, Marcio Nogueira Cardoso Pinto.

    terça-feira, 8 de abril de 2014 15:07
  • Como posso criar o triger para verificar qual é o id a ser inserido no banco referente ao cadastro do aluno? Poderia dar um exemplo de como faço isso? Desde já agradeço a atenção.

    Atenciosamente, Marcio Nogueira Cardoso Pinto.

    terça-feira, 8 de abril de 2014 15:18
  • Cara, você pode criar no banco de dados a coluna id com o tipo "serial" ou "bigserial". Automaticamente ele já cria a sequence pra ti com o id auto incrementável.
    terça-feira, 8 de abril de 2014 15:27
  • O Postgre tem esse recurso? Se tiver vou tentar.

    Atenciosamente, Marcio Nogueira Cardoso Pinto.

    terça-feira, 8 de abril de 2014 15:29
  • Tem sim. utilizo o postgresql em vários projetos e sempre utilizo esse recurso.
    • Marcado como Resposta Marcio_Nogueira terça-feira, 8 de abril de 2014 15:40
    terça-feira, 8 de abril de 2014 15:33
  • Muito obrigado pela ajuda!

    Atenciosamente, Marcio Nogueira Cardoso Pinto.

    terça-feira, 8 de abril de 2014 15:41