Exemple d'application métier avec Silverlight 3 et .NET RIA Services - Partie 10 : LINQ to SQL

Cet article fait partie d'une série de traductions d'articles de Brad Abrams sur le développement d'applications métier avec Silverlight 3 et .NET RIA Services.

Retrouvez l'ensemble des articles de la série sur cette page : Exemple d'application métier avec Silverlight 3 et .NET RIA Services.

Commentez cet article : Commentez Donner une note à l'article (5)

Article lu   fois.

Les deux auteurs

Site personnel

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

Traduction

Cet article est la traduction la plus fidèle possible de l'article original de Brad Abrams, Business Apps Example for Silverlight 3 RTM and .NET RIA Services July Update: Part 10: LINQ to SQL.

LINQ to SQL

Poursuivons notre discussion sur Silverlight 3 et la mise à jour aux .NET RIA Services. J'ai mis à jour l'exemple de ma présentation Mix09 intitulée « building business applications with Silverlight 3 ».

Vous pouvez regarder

La démo requiert les éléments suivants (tout est 100% gratuit) :

Vous pouvez, de plus, télécharger les fichiers de la démo complète et jeter un œil à l'application en cours d'exécution.

J'ai récemment été très surpris, lorsque quelqu'un a mentionné que les RIA Services fonctionnaient uniquement avec Entity Framework. Ce qui n'est évidemment pas vrai, mais ensuite j'ai réalisé que nous n'avions pas fait suffisamment de démos avec LINQ to SQL. Alors j'ai pensé que je devrais mettre à jour mon application de démo afin d'utiliser LINQ to SQL plutôt qu'Entity Framework.

Il y a plein de raisons pour lesquelles vous utilisez peut-être LINQ to SQL... Certaines personnes l'ont trouvé plus léger et plus facile à imiter, ceci rendant la testabilité plus simple. D'autres ont standardisé dessus pour un projet et d'autres le préfèrent tout simplement. Quoi qu'il en soit, les RIA Services fonctionnent très bien avec LINQ to SQL.

Image non disponible

Passons à l'exemple d'application pour utiliser LINQ to SQL. D'abord ajoutons un nouveau edmx.

Image non disponible

Et glissons la table SuperEmployee dessus.

Image non disponible


Enregistrons et générons !

Maintenant, nous allons apporter de très petites modifications au SuperEmployeeDomainService.

 
Sélectionnez
  1: [EnableClientAccess()]
  2: public class SuperEmployeeDomainService : LinqToSqlDomainService<SuperEmployeeDataContext>
  3: {
  4:&#160; 
  5:         public IQueryable<SuperEmployee> GetSuperEmployees()
  6:         {
  7:             return this.Context.SuperEmployees
  8:                        .Where(emp=>emp.Issues>100)
  9:                        .OrderBy(emp=>emp.EmployeeID);
 10:         }

Aucun changement pour le client... Générez, appuyez sur F5 et l'application va s'exécuter.

Remarquez qu'à la ligne 2, nous utilisons le LinqToSqlDomainService comme une classe de base plutôt que l'EntityFrameworkDomainService.

À la ligne 7, vous remarquerez qu'ici rien ne change, le pouvoir de LINQ !

C'est vraiment tout ce que nous avions à faire. Appuyez sur F5 et la principale application Silverlight que nous étions en train de construire continue à fonctionner.

Image non disponible

Et toutes les autres bonnes choses continuent à fonctionner tout aussi bien. Revoyons-les toutes juste pour nous rappeler à quel point RIA Services est cool ;-)


La page ASP.NET qui est notre sitemap :

Image non disponible

La page ASP.NET qui rend du contenu downlevel\SEO :

Image non disponible

La vue ADO.NET Data Services (Astoria) basée sur REST :

Image non disponible

Et bien sûr, la vue WinForms :

Image non disponible

Conclusion

Ceci conclut donc cette dixième partie, consacrée à LINQ to SQL, dans cette série d'articles sur les applications métier avec Silverlight 3 et .NET RIA Services. Dans la onzième partie nous aborderons le monde du client uniquement.

Remerciements

Je tiens ici à remercier Brad Abrams pour nous avoir autorisé à traduire son article.
Je remercie également _Max_ pour sa relecture et ses propositions.

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

  

Copyright © 2011 Brad Abrams. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts. Droits de diffusion permanents accordés à Developpez LLC.