none
Update avec SubmitChanges RRS feed

  • Question

  • Bonjour,

    je souhaite faire un update dans Linq mais je ne sais pas trop comment faire. j'ai beau voir partout qu'il faut le faire avec le Datacontext mais Visual Studio ne connait pas l'instruction SubmitChanges...

    voila mon code :

    public void ListeSocieteInactifs(DateTime DateDebut, DateTime DateFin)
            {
    
                var ConnectSQL = new ConnexionSQL();
                var entityBuilder = ConnectSQL.InitCnx();
                using (var cnx = new EntityConnection(entityBuilder.ToString()))
                {
    
                    cnx.Open();
                    using (var ctx = new Pegase3Entities(cnx))
                    {
                        var Datedeb = DateDebut.Date;
                        var Datefin = DateFin.Date;
    
                        //on fait une premiere requete pour selectionner les dossiers actifs
                        var DossierActifs = (from societe in ctx.SOCIETE
                                             join bulletins in ctx.BULLETINS on societe.IDSOCIETE equals bulletins.IDSOCIETE
                                             join dossier in ctx.DOSSIERS on societe.CODSOCIETE equals dossier.DOSSIER
                                             where bulletins.DATFINPAIE <= Datefin
                                             && bulletins.DATFINPAIE >= Datedeb
                                             && societe.DATDEBVALIDITE <= Datedeb
                                             && societe.DATFINVALIDITE >= Datedeb
                                             orderby societe.CODSOCIETE
                                             select new { societe.CODSOCIETE, societe.NOMSOCIETE, societe.FLGEXPORTERMYREPORT,
                                             dossier.INACTIF}).Distinct();
    
                        //on fait une requete avec tous les dossiers
                        var DossierTotal = (from societe in ctx.SOCIETE
                                            join dossier in ctx.DOSSIERS on societe.CODSOCIETE equals dossier.DOSSIER
                                            where societe.DATFINVALIDITE >= Datedeb
                                       select new { societe.CODSOCIETE, societe.NOMSOCIETE, societe.FLGEXPORTERMYREPORT,
                                             dossier.INACTIF }).Distinct();
    
                        //on fait la difference entre les deux pour obtenir les dossiers inactifs
                        var difference = DossierTotal.Except(DossierActifs);
    
                        
    
                        ctx.CommandTimeout = 0;
    
                        foreach (var item in difference)
                        {
                            item.FLGEXPORTERMYREPORT = "0";
                            item.INACTIF = "1";
    
                        }
                        ctx.SubmiChanges();
                        
    
                        cnx.Close();
    
                    }

    ou est-ce que j'ai tout faux ? :(

    Par avance merci !


    "Un bon technicien n'est pas un technicien qui pense tout savoir" Lallemand Sébastien MCITP EA Windows Server 2008 R2 Apprenti développeur C# EF

    mardi 23 juillet 2013 14:43

Réponses

Toutes les réponses