«

»

nov
30

Créer des WebServices en C# et Linq to SQL – partie 2

Création d’une classe mère permettant la base de données.

Dans l’article précédent, nous avons vu comment créer un DataContext via la méthode Linq to SQL. A présent, il nous est nécessaire de créer les classes correspondantes permettant d’accéder à nos données et ainsi en obtenir des objets que nous pourrons traiter.

Ainsi, il sera nécessaire de créer une classe mère permettant d’accéder à une instance de notre base de données, puis à des classes filles permettant d’ouvrir chacune des tables voulues et d’en ressortir les objets correspondants.

Dans votre répertoire Model, créer une classe nommée WSRepository. Cette classe sera votre classe mère permettant d’accéder à votre source de données. Votre classe fait partie du même namespace que votre fichier DataClasses.dbml. Ainsi, il vous sera possible de créer un attribut statique nommé WSDataContext et étant un nouvel objet DataContext associé à votre DataClasse. Dès lors, avec cet attribut, il vous sera possible d’accéder directement à chaque table de votre base de données.

De même, créez une méthode dans cette classe mère nommée Save. Cette méthode vous permettra de sauvegarder l’état de vos objets dans votre base de données au fur et à mesure de vos applications.

C#_2010_11_30_01

Création d’une classe fille permettant l’accès à la table utilisateur.

Maintenant que notre classe mère est créée et que nous pouvons accéder à chaque table de notre base de données, il va falloir créer une classe Utilisateur permettant de faire le lien entre la table Utilisateur, la classe partiel Utilisateur créée par Linq To SQL et la classe Utilisateur que nous allons exploiter.

Ainsi, cette classe devra hériter de la classe WSRepository, comprendre des fonctions de bases tel que Add et Delete et être partiel afin que ces attributs proviennent du mappage généré plus haut tel que :

C#_2010_11_30_02

Ici, la méthode ReadId permet de récupérer un objet complet de type utilisateur selon l’Id passé en paramètre. Notre Id étant la clé primaire de notre table, l’objet retourné sera forcément unique.

Appel de vos objets dans les WebServices.

Votre base de données est en place et vous arrivez déjà la manipuler via la méthode Linq To SQL. Nous pourrions nous arrêter et utiliser ces objets dans le cadre d’une application standard. Toutefois, l’application que nous avons créé est un WebService.

Ainsi, créez un Service Web nommé WSUtilisateur.asmx. Ce service Web n’a pas nécessité d’être dans le répertoire Model et ne fera donc pas parti du même Namespace que les classes précédemment créées.

C#_2010_11_30_03

Dans votre Service Web, il ne vous reste plus qu’à créer une liste de méthode appelant des objets de type Utilisateur pour permettre au final à votre Web Service de communiquer avec votre base de données tel que :

C#_2010_11_30_04

Note : vous pouvez également créer des méthodes dans votre Service Web qui ne seront pas visible par le client. Pour cela, il suffit simplement de créer votre méthode comme une méthode « standard », c’est à dire en n’attachant pas l’attribut [WebMethod] à votre méthode.

Déployez votre application, votre Service Web est maintenant fonctionnel.

Dans cet exemple nous avons donc vu comment :

  • Utiliser la méthode Linq To SQL
  • Créer des WebServices utilisant les objets issus de Linq To SQL
  • RSS
  • email
  • Print
  • PDF
  • Netvibes
  • Twitter
  • Facebook
  • LinkedIn
  • Wikio FR
  • Live
  • Google Bookmarks
  • del.icio.us
  • Digg
  • Sphinn

Laisser un commentaire

Votre adresse ne sera pas publiée.

Vous pouvez utiliser les balises HTML suivantes : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>