Partage
  • Partager sur Facebook
  • Partager sur Twitter

Automatiser requete SQL en C#

    22 février 2021 à 10:46:20

    Bonjour à tous,

    Alors je suis un apprenti développeur, je me forme seul au langage c# en trifouillant un peut partout sur internet donc il est fortement probable que ma question puisse paraître pour vous comme basique mdrr 

    Doncje souhaite dans le cadre de mon apprentissage savoir si déjà il était possible de pouvoir automatiser des requêtes SQL en c# par visual studio

    et si c'est  possible comment puis je le faire ? parceque sur internet je ne trouve aucun code ou tuto pour expliquer, ( ou peut etre que je ne comprend pas tous ce que je trouve) 

    Merci d'avance 

    • Partager sur Facebook
    • Partager sur Twitter
      22 février 2021 à 16:44:42

      Généralement, on ne crée plus les requêtes SQL mais on laisse un ORM comme Entity Framework ou NHibernate s'en chargé automatiquement.

      En utilisant LINQ pour faire des "requêtes à la sauce objet" dans votre code qui attaque les classes générées par ces ORM, vous n'avez même plus à vous soucier de comment sont stockées les données dans la base.

      • Partager sur Facebook
      • Partager sur Twitter
      Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
        26 février 2021 à 10:30:38

        bacelar a écrit:

        Généralement, on ne crée plus les requêtes SQL mais on laisse un ORM comme Entity Framework ou NHibernate s'en chargé automatiquement.

        En utilisant LINQ pour faire des "requêtes à la sauce objet" dans votre code qui attaque les classes générées par ces ORM, vous n'avez même plus à vous soucier de comment sont stockées les données dans la base.


        Ok donc il faut que j'etudi du LINQ pour pouvoir faire l'application que je veux ? 

        Cad: avoir un document ".txt" sur mon bureau ( par exemple) dans le quel j'aurais toutes mes requêtes SQL lignes par lignes, et en fait mon application quand  je l'exécuterais viendra chercher le document ".txt" sur mon bureau, et exécuter toutes mes requêtes lignes par lignes requêtes par requêtes ? 

        Ou créer une tel application est impossible, et que je m'entête pour rien ?

        • Partager sur Facebook
        • Partager sur Twitter
          26 février 2021 à 11:13:49

          >Ok donc il faut que j'etudi du LINQ pour pouvoir faire l'application que je veux ?

          LINQ est un "must have known" de .NET.

          Indépendamment de l'utilisation d'une base de données, SQL ou NoSQL etc..., c'est une chose à connaitre pour être efficace en développement .NET.

          En l'utilisant dans le cadre de classes d'un ORM comme Entity Framework, les requêtes effectivement envoyés aux gestionnaires de données seront dynamiquement optimisées. Chose que vous ne pourrez pas faire "à la main" juste avec un repository de requête SQL "static". Le LINQ d'un gestionnaire de données disposant du model objet de la couche Data de l'ORM et des statistiques sur les données et en conjonction avec le générateur de plan d'exécution des requêtes du gestionnaire, peut facilement et de manière transparente, générer des requêtes bien plus efficaces que celles "faites main" (mais rien n'empêche de configurer le bidule si le comportement par défaut de LINQ tombe dans un piège à performance).

          Je ne dis pas qu'il ne faut pas faire de requête SQL mais si vous utilisez les bons outils, après un temps d'apprentissage, votre projet aura de bien meilleures qualités, aussi bien au niveau performances, souplesse, évolutivités, maintenabilité, etc...

          Mais c'est une toute autre manière de penser qu'en SQL "de base".

          Si votre objectif, c'est d'exécuter des requêtes SQL "au kilomètre" (tâche d'administration ?), les gestionnaires de données disposent déjà d'outils permettant de le faire.

          Si vous êtes dans un environnement hétérogène où des transferts et des transformations de données sont nécessaires, vous pouvez utiliser des outils de type ETL pour faire ce genre de chose.

          Si c'est dans un but purement pédagogique, je trouve cela peu pertinent.

          Il "suffit" de faire un parseur de requête SQL et de créer les objets "Request" ADO.NET correspondants à votre source de données cible et de les configurer en fonction des résultats du parsing des requêtes.

          • Partager sur Facebook
          • Partager sur Twitter
          Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
            26 février 2021 à 14:00:42

            bacelar a écrit:

            >> LINQ est un "must have known" de .NET.

            Non je me forme seul par openclassroom justement je pars de 0, et j'ai juste appris la programmation orienté objet pour le moment, et quelque chapitres d'ASP.Net

            et pour m'exercé je me suis dis que j'allais faire cette petite application, mais je n'y arrivais pas c'est pour ca que je suis venu cherché de l'aide 



            • Partager sur Facebook
            • Partager sur Twitter
              26 février 2021 à 15:14:03

              Votre exercice demande pas mal de travail et ne permettra pas des applications "dans la vraie vie".

              Si c'est pas curiosité et que vous êtes intéressé par le domaine, pourquoi pas, mais sinon, pensez à des exercices/projets plus "conventionnels".

              Si le cours d'Openclassroom d'aborde pas LINQ, c'est qu'il est beaucoup trop vieux, ou basic et qu'il vous faudra un cours plus adapté.

              • Partager sur Facebook
              • Partager sur Twitter
              Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.

              Automatiser requete SQL en C#

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown