Array
(
)

Fazer delete com join no linq

Pjava
   - 28 set 2014

Esse é meu delete:
#Código

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
   - 28 set 2014

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

#Código

'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?)

Pjava
   - 03 out 2014

Tentei desse jeito e continua o erro. É
#Código

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.

Citação:

'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?)