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