none
Não consigo deletar RRS feed

  • Pergunta

  •  

    Boa Tarde. Peguei um exemplo na Net e to fazendo um teste, mas não aparece a proprieade "RemoveAll".

     

     

    Code Snippet

    TesteDataContext bc = new TesteDataContext();

    var deleta = from p in bc.TAB_CADPRODUTOs where p.ProdutoID == 1026 select p;

    bc.TAB_CADPRODUTOs.RemoveAll(deleta);

    bc.SubmitChanges();

     

     

    Se eu faço: bc.TAB_CADPRODUTOs.DeleteAllSubmit dá o seguinte erro:

     

    Não é possível executar as operações Criar, Atualizar e Excluir em 'Table(TAB_CADPRODUTO)' porque não há chave primária.

     

    O que está errado.

    quinta-feira, 31 de julho de 2008 18:37

Respostas

  • O erro é claro. Não há chave primária na sua tabela.
    Qualquer correção que você tenha atingido sem criar chaves primárias na sua tabela está errada =P
    E o método correto é DeleteOnSubmit para um item ou DeleteAllOnSubmit para um IQueryable.
    Mas sem PK, o Linq não tem como determinar exatamente o que você está apagando ou alterando (ou seja, sem update nem delete).
    quinta-feira, 31 de julho de 2008 22:53

Todas as Respostas

  • Olá, acabei descobrindo o erro.

     

     

    quinta-feira, 31 de julho de 2008 19:40
  • O erro é claro. Não há chave primária na sua tabela.
    Qualquer correção que você tenha atingido sem criar chaves primárias na sua tabela está errada =P
    E o método correto é DeleteOnSubmit para um item ou DeleteAllOnSubmit para um IQueryable.
    Mas sem PK, o Linq não tem como determinar exatamente o que você está apagando ou alterando (ou seja, sem update nem delete).
    quinta-feira, 31 de julho de 2008 22:53
  • Proceda da seguinte forma, se estiver trabalhando com LINQ:

    1. Insira uma chave-primaria na tabela caso ela não tenha;

    2. Remova a tabela do diagrama de classe;

    3. Adicione a tabela, com a chave-primaria, no diagrama.

    4. Execute a aplicação.

    domingo, 13 de julho de 2014 15:58