Usuário com melhor resposta
Atualização de Vários Registros no LINQ como no SQL

Pergunta
-
Respostas
-
Isso não funciona. Não é possível excluir ou atualizar vários registros de uma vez com LINQ de uma maneira rápida e pratica. É necessário programar alguns passos, o que faz compensar o uso de Stored Procedure dentro do SQL mesmo, e chamar essas SP como funçoes de dentro do LINQ.
Obrigado a todos mesmo assim!- Marcado como Resposta Leonardo Cesar Trindade segunda-feira, 6 de abril de 2009 13:52
Todas as Respostas
-
um.. de uma forma direta assim nao teria... ou vc cria uma procedure ou
var tabela = from item on context.Tabela where item.COD > 10 select item
foreach (var registro in tabela) registro.Campo = valor;
context.Tabela.SubmitChanges(); -
Ola Rui. Dessa maneira não funcionou.
O código ficou:
var tabela = from cbs in dm.tbColaboradorBancoSaldos
where(cbs.DtFechamento >= Dt1)&&(cbs.DtFechamento <= Dt2)
&&(cbs.IdColaboradorBanco == IdColaboradorBanco)
select cbs.IdColaboradorBanco; foreach (var registro in tabela)
registro.Delete ** Essa parte não existe
Como fazer para excluir todos os registros de tabela?
Obrigado! -
var tabela = from cbs in dm.tbColaboradorBancoSaldos
where(cbs.DtFechamento >= Dt1)&&(cbs.DtFechamento <= Dt2)
&&(cbs.IdColaboradorBanco == IdColaboradorBanco)
select cbs;foreach (var registro in tabela) dm.tbColaboradorBancoSaldos.Delete(registro)
-
Faz assim:
var registros = dm.tbColaboradorBancoSaldos.Where(c => (c.DtFechamento >= Dt1) && (c.DtFechamento <= Dt2) && (cbs.IdColaboradorBanco == IdColaboradorBanco) );
dm.Delete(registros);
dm.SubmitChanges();- Sugerido como Resposta Xakkal86 sábado, 4 de abril de 2009 18:20
-
Isso não funciona. Não é possível excluir ou atualizar vários registros de uma vez com LINQ de uma maneira rápida e pratica. É necessário programar alguns passos, o que faz compensar o uso de Stored Procedure dentro do SQL mesmo, e chamar essas SP como funçoes de dentro do LINQ.
Obrigado a todos mesmo assim!- Marcado como Resposta Leonardo Cesar Trindade segunda-feira, 6 de abril de 2009 13:52
-
opa... me corrigindo... nem sei onde tava com a cabeça nesse dia...
dm.tbColaboradorBancoSaldos.DeleteAllOnSubmit(dm.tbColaboradorBancoSaldos.Where(cbs => cbs.DtFechamento >= Dt1 && cbs.DtFechamento <= Dt2 && cbs.IdColaboradorBanco == IdColaboradorBanco);
dm.SubmitChanges();
Desculpa pelo engano acima...