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

| Brad Abrams | Deepin Prayag (Traduction) |

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 ♪

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

- Auteurs : Brad Abrams, Deepin Prayag (Traduction)

- Parution : 6 décembre 2011

- Mise à jour : 1 février 2012

- Licence : 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.

Sommaire

- Traduction

- LINQ to SQL

- Conclusion

- Remerciements

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

Animation en format "flv" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://deepin.developpez.com/traductions/videos/t40f.flv

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

- Visual Studio 2008 Express SP1 (qui comprend SQL Server 2008 Express) ;

- Silverlight 3 ;

- .NET RIA Services.

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.

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

Et glissons la table SuperEmployee dessus.

Enregistrons et générons !

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

1: [EnableClientAccess()]
2: public class SuperEmployeeDomainService : LinqToSqlDomainService<SuperEmployeeDataContext>
3: {
4:
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.

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 :

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

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

Et bien sûr, la vue WinForms :

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 de nous avoir autorisés à traduire son article.
Je remercie également _Max_ pour sa relecture et ses propositions.