none
LinqToSql "Não é possível remover uma entidade que não foi anexada" RRS feed

  • Pergunta

  • Estou tentando passar uma lista e deletar no metodo DeleteAllSubmit porém não sei o porque do erro, estou fazendo algo errado porém não sei o que é.

    public static void DeletarLista(List<Funcionario> funcionarios) { try { LinqToSqlBasic_DataClassesDataContext oDB = new LinqToSqlBasic_DataClassesDataContext(); oDB.Funcionarios.DeleteAllOnSubmit(funcionarios); oDB.SubmitChanges(); oDB.Dispose(); } catch { throw; } } //========================VIEW================================= private void btnExcluir_Click(object sender, EventArgs e) { List<Funcionario> funcionarios = new List<Funcionario>(); //Add itens to list.. //try... FuncionarioDataAcess.DeletarLista(funcionarios); //catch

    //error : não é possível remover uma entidade que não foi anexada } }



    • Editado Hannibal0hn terça-feira, 21 de fevereiro de 2017 15:33
    terça-feira, 21 de fevereiro de 2017 15:31

Todas as Respostas

  • Olá,

     Isso não vai funcionar, devido a sua lista de funcionários ser instânciada a partir de outro contexto. Para remover vários itens pode fazer a busca nesse contexto e apagar conforme exemplo:

    Removendo usando LinqToSql

     Ou manter tudo em um mesmo contexto (apenas uma instância de seu DataClassesDataContext()).

    terça-feira, 21 de fevereiro de 2017 16:33
  • não entendi a resposta desse linq que me mandou. Estou fazendo em window Forms
    terça-feira, 21 de fevereiro de 2017 17:52
  • não entendi a resposta desse linq que me mandou. Estou fazendo em window Forms
     Faça da forma mais simples então, essa sua entidade funcionario possui um campo chave (id) ?
    terça-feira, 21 de fevereiro de 2017 19:53