Fazer delete com join no linq

28/09/2014

0

Esse é meu delete:

delete from dbo.Ruptura
       from dbo.Ruptura A
            INNER JOIN dbo.Apresentacao  B ON A.Codigo_Apresentacao  = B.Codigo_Apresentacao
            INNER JOIN dbo.PDV           C ON A.CodigoPDV            = C.CodigoPDV
            INNER JOIN dbo.Motivo        D ON A.IDMotivo             = D.IDMotivo

       where a.IDMotivo = 1

'''''''
Sendo que IDMotivo vem por parâmetros, mas isso eu sei fazer. Só não o delete. Coloquei no LINQPad, mas não consegui converter, não tinha essa opçaõ, pelo menos não consegui.
Pjava

Pjava

Responder

Posts

28/09/2014

Pjava

Está me dando esse erro e eu já adicionei o System.Data.Linq e mesmo assim nada:

'System.Data.Entity.DbSet<Ruptura.Models.Ruptura>' does not contain a definition for 'DeleteAllOnSubmit' and no extension method 'DeleteAllOnSubmit' accepting a first argument of type 'System.Data.Entity.DbSet<Ruptura.Models.Ruptura>' could be found (are you missing a using directive or an assembly reference?)
Responder

03/10/2014

Pjava

Tentei desse jeito e continua o erro. É
var monta_arvore = (from rup in db.Ruptura
                                    join ap in db.Apresentacao on rup.Codigo_Apresentacao equals (ap.Codigo_Apresentacao)
                                    join mo in db.Motivo on rup.IDMotivo equals (mo.IDMotivo)
                                    join pdv in db.PDV on rup.CodigoPDV equals (pdv.CodigoPDV)

                                    where rup.IDMotivo != _idmotivo

                                    //group rup by new { rup.IDRuptura} into gr

                                    select new
                                    {
                                        rup.IDRuptura,
                                        rup.DataRuptura,
                                        rup.IDMotivo,
                                        rup.Motivo.Motivo1,
                                        rup.IDOrigem,
                                        rup.CodigoPDV,
                                        rup.PDV.UF,
                                        pdv.Cidade,
                                        CnpjDescricao = pdv.Cnpj + " - " + pdv.Descricao,
                                        rup.Codigo_Apresentacao,
                                        ap.Unidade_Negocio,
                                        ap.Codigo_Unidade_Negocio,
                                        ap.Franquia,
                                        ap.Familia,
                                        ap.Descricao
                                    }).ToList().OrderBy(r => r.IDMotivo);

                foreach (var item in monta_arvore)
                {
                    db.DeleteAllOnSubmit(item); ==> Aqui dá o erro
                }


Esse é o erro que dá no DeleteAllOnSubmit. Também tentei DeleteOnSubmit e dá o mesmo erro.

'System.Data.Entity.DbSet<Ruptura.Models.Ruptura>' does not contain a definition for 'DeleteAllOnSubmit' and no extension method 'DeleteAllOnSubmit' accepting a first argument of type 'System.Data.Entity.DbSet<Ruptura.Models.Ruptura>' could be found (are you missing a using directive or an assembly reference?)
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar