Partager via


Tour accès aux données: à mi-parcourt

Bonjour à tous,

Le tour est lancé depuis 15j et nous avons réussi tant bien que mal à traverser la France en slalomant entre les grèves de la Sncf et d'Air France :p.

Malgré ces quelques difficultés de parcours, le tour est bel et bien lancé. Strasbourg, Lille, Nantes et Toulouse furent de belles sessions bien remplies avec entre 50 et 70 participants.

Le tour reprendra après les vacances scolaires (et le TechEd) avec Lyon, Aix et Paris, villes pour lesquelles il est encore temps de s'inscrire (https://msdn2.microsoft.com/fr-fr/data/bb743261.aspx).

Vous pouvez évidemment profiter de ce billet pour poser vos questions ou donner votre avis pour ceux qui ont déjà participé !

A très bientôt,

Mitsu

Comments

  • Anonymous
    October 26, 2007
    Le tour c'est très bien passé à Nantes. Et surtout cela m’a permis de voir clairement l'intérêt de Linq et de commencer à faire des essais grâce aux exemples très bien expliqué de Mitsu. Merci encore pour cette session très passionnante.

  • Anonymous
    October 29, 2007
    The comment has been removed

  • Anonymous
    October 30, 2007
    Trop fort ce Mitsu :-) Philippe A. : Pour Oracle, il faut utiliser LINQ To Entities. Pour les extension methods, "c’est un peu déroutant, car il faut absolument faire un using du namespace dans lequel on a mis les méthodes d’extension pour y avoir accès." : c'est pourquoi il est conseillé d'utiliser le même namespace que la classe étendue. Vivement le 28 novembre à Paris ! :D

  • Anonymous
    October 31, 2007
    Matthieu : il est conseillé d'utiliser le même namespace que la classe étendue ! >>> Oui enfin si tu étend l'ensemble des classes qui implémentent une interface !! ton interface ou IEnumerable etc ....   tu fait comment ? Je préfere bien structurer mes packages selon leurs roles dans mon projet. Et de toute facon si tu veux utiliser les extension de linq sur beaucoup d'objets du framework, il faut que tu face un using System.Linq;


Yes pour le 28, y aura t'il beaucoup de nantais, histoire de causer un peu de notre belle région !

  • Anonymous
    November 03, 2007
    Salut Mitsu ! Où peut on accéder au exemples et aux slides de ta présentation ?

  • Anonymous
    November 21, 2007
    Salut Mitsu ! J'étais à Lyon le 15 novembre, et ta présentation était vraiment sympa et très enrichissante. J'ai été sidéré par ce qu'apporte LinqToSQL par rapport à une utilisation du SQL en chaine de caractères.... (eh oui je suis encore un vieux de la vieille et je code en vc6....) Etant donné le gouffre qu'il y a entre ce que je sais faire sur mon environnement de dev et vs2008 avec linq, je n'ai pas pu tout noté... et je te demande où peut-on trouver les exemples et le powerpoint de votre présentation ?

  • Anonymous
    November 29, 2007
    The comment has been removed

  • Anonymous
    November 30, 2007
    Et bravo pour la dernière 1/2h où Mitsu nous a redéveloppé LINQ en live. Cela m'a rappellé la fac de math ou on attendait le moment ou le prof de math allait bloquer sur sa démonstration super compliquée et utiliser une anti-sèche l'air de rien. Mais non, pas d'anti-sèche pour Mitsu, bravo.

  • Anonymous
    November 30, 2007
    Bonjour, J'ai assisté au tour des données à l'espace tete d'or à lyon. J'ai trouvé la présentation sur linqtosql très interessante. J'ai une question concernant la connexion à la base. Je suis apprenti un BTS d'informatique de gestion. Avant lorsque j'utilisais les ADO.net, j'avais une connectionstring, etc. Je me connectais à la base chargeai mon dataset ou faisait un executenonquery() et fermait la connexion et travaillait en mémoire avec le dataset. Avec linqtosql, il n'y a plus besoin de gérer la connexion à la base et de vider les objets ou variables utilisées par le linq? Merci Jocelyn PAYNEAU

  • Anonymous
    December 02, 2007
    The comment has been removed

  • Anonymous
    December 05, 2007
    Bonsoir, Je voudrais savoir si une fois que l'on a fait une requete linq du type : var qdom = from dom in cvdc.Domaines                   select dom; Comment pourrait-on récupérer les éléments d'un seul champ par exemple? Cela afin de binder sur une combobox. Actuelelemnt je fais : var domaines = CVHelper.getDomaines();//getDomaines() est la requete ci-dessus        List<String> lstDomaines = new List<string>();        foreach (Domaine dom in domaines)        {            lstDomaines.Add(dom.description);        }        this.cbxDomaine.DataSource = lstDomaines;        this.cbxDomaine.DataBind(); Merci

  • Anonymous
    December 07, 2007
    @Mitsu : Question de clients qui revient souvent et je ne trouve rien de précis : Linq to SQl et Linq to Entites supportent-ils maintenant (vs2008) Oracle ? @Jocelyn: c'est très facile : var qdom = from dom in cvdc.Domaines           select dom.description; tout simplement :-)

  • Anonymous
    December 10, 2007
    @Jocelin: var qdom = from dom in cvdc.Domaines           select dom.description; this.cbxDomaine.DataSource = qdom; this.cbxDomaine.DataBind(); //tu es visiblement en Asp, donc tu peux binder directement la requête à la DataSource. Sinon pour remplir une liste tu peux faire simplement: qdom.ToList(). @Olivier: Linq to Sql ne supporte pas Oracle aujourd'hui. Le support d'Entity Data Model pour Oracle est en cours de développement. Nous attendons sa sortie post EDM (mi 2008) sans engagement sur la date dans le sens où ce n'est pas nous qui le développons.

  • Anonymous
    December 12, 2007
    Hello, J'ai encore une question mais sur l'insertion cette fois-ci. J'ai un formulaire avec des textbox et des combobox. Pour les textbox pas de soucis puis que cela correpond à un champ texte dans ma table. Mais en fait pour les combobox, cela correspond à une clé étrangère dans ma table. Comment procéder?

  1. Lorsque je remplis ma combo, je bind sur le datafieldvalue les id de ma table et ensuite je fais : macléétrangère = this.combobox.selectedvalue
  2. je fais une requête qui me récupère l'id et ensuite je fais comme ci-dessus
  3. linq avec les entityref permet de résoudre cette question Merci Jocelyn
  • Anonymous
    December 12, 2007
    Je rajoute quelque chose a mon dernier message. J'ai remarqué que dans le fichier généré par le mapping il y a des méthodes partielles ajout modification et suppression pour chaque table de la base. Comment fais-on pour les modifier et les appeler? Merci

  • Anonymous
    December 12, 2007
    Dans une classe partielle de même nom, il faut que tu implémente les méthodes qui ne sont que pour le moment définies dans le code généré. Elles seront alors tout simplement appelées par le code générée au lieu d'être ignorée à la compilation. Les webcats ne devraient pas tarder !!

  • Anonymous
    December 14, 2007
    Il faut donc que je crée, par exemple, une classe CV.cs et dedans j'implémente les méthodes générées par le designer? Jocelyn

  • Anonymous
    December 16, 2007
    Exactement. La classe CV doit être partielle et doit déjà exister (générée par le designer)

  • Anonymous
    February 25, 2008
    Bonsoir, Je voudrais savoir comment faire un produit cartésien avec linq. Je n'ai qu'une seule table mots avec 4 mots dedans. En access, je fais cette requête : SELECT mots.mot, mots_1.mot, mots_2.mot FROM mots, mots AS mots_1, mots AS mots_2 et j'obtiens ce résultat : mots.mot  mots_1.mot  mots_2.mot  mots_3.mot bonjour   bonjour     bonjour   bonjour mainframe  bonjour bonjour   bonjour lan   bonjour bonjour    bonjour bobo   bonjour bonjour    bonjour Avec SqlServer, j'ai lu que c'est avec CrossJoin que l'on fait un produit cartésien. Mais lorsque je fais db.ExecuteQuery(marequete) je n'ai pas le résultat escompté J'aimerai obtenir le meme résultat sous sqlserver que avec access (ci-dessus) et le binder dans mon datagridview. En linq, il faut utiliser "join" comme pour une jointure "normale"? Je veux essayer de le faire avec sqlserver et linq parce que quand je passe par Access via mon application dot.net si je fais un produit cartésien avec plus de 4 enregistrements ca part dans les choux alors que a vif dans Access je peux faire un produit cartésien avec 20 mots (soit 20^20) en 5s. Merci de ton aide Jocelyn