Voici un nouvel article gratuit à télécharger, PDF de 32 pages avec 5
projets exemples sous VS 2008 pour comprendre les nombreuses facettes de
LINQ et ce qu'il peut changer dans votre façon de développer.
Pour accéder à l'article suivez ce minilien :
http://minilien.com/?xBv7W7vzJl
Sujets traités avec exemples : LINQ to Objects, LINQ to XML, LINQ to
ADO.NET (LINQ to SQL, LINQ to Dataset, LINQ to Entities).
Bonne lecture !
Voici un nouvel article gratuit à télécharger, PDF de 32 pages avec 5
projets exemples sous VS 2008 pour comprendre les nombreuses facettes de
LINQ et ce qu'il peut changer dans votre façon de développer.
Pour accéder à l'article suivez ce minilien :
http://minilien.com/?xBv7W7vzJl
Sujets traités avec exemples : LINQ to Objects, LINQ to XML, LINQ to
ADO.NET (LINQ to SQL, LINQ to Dataset, LINQ to Entities).
Bonne lecture !
Voici un nouvel article gratuit à télécharger, PDF de 32 pages avec 5
projets exemples sous VS 2008 pour comprendre les nombreuses facettes de
LINQ et ce qu'il peut changer dans votre façon de développer.
Pour accéder à l'article suivez ce minilien :
http://minilien.com/?xBv7W7vzJl
Sujets traités avec exemples : LINQ to Objects, LINQ to XML, LINQ to
ADO.NET (LINQ to SQL, LINQ to Dataset, LINQ to Entities).
Bonne lecture !
> Ton article est très interessant !
Il est vrai que malheureusement, tu ne peux pas rentrer trop dans les détails
de tout la syntaxe de LINQ (car comme tu l'as très bien dis, cela risque de
finir dans un bouquin de 500 pages...). Mais au moins tu donnes une très
bonne introduction sur Linq. Après il suffit d'avoir un bon FAI et un bon
navigateur et il reste plus qu'à surfer sur le MSDN !
Je voudrais juste faire une remarque concernant la dernière partie sur Linq
To Entities :
Tu dis qu'il faut utiliser le Designer de VS2008 "Linq To SQL", hors il me
semble que cela reste toujours du "Linq To SQL"... Et je ne vois guère la
différence a part que l'on utilise des objets générés automatiquement par
VS2008...
(au passage
dans ton article j'adore comment tu stéréotypes nos pauvres SGBD... ;-) ).
- Pourquoi Microsoft a appellé le Designer "Linq To SQL Classes" pour générer
et utiliser du Linq To Entities ?
- Le designer génére 2 types de classe : un DataContext et une classe objet.
Ou doit-on mettre le code généré par le Designer ? (plus simplement le
fichier .dbml)
* Dans la couche d'accès aux données ? Ok, mais c'est la couche de données
qui définit alors les classe objets... Alors qu'elle devrait être dans la
couche métier....
* Dans la couche métier ? Ok, mais l'objet DataContext est fortement
couplé aux SGBD ! De plus, il me semble que dans la couche métier on devrait
s'interdir d'avoir une référence à System.Data.Linq qui est spécifique à SQL
et donc à une source de données particulière.
Est-ce que tu peux éclairer un peu plus ma lanterne ?
Aussi, est-ce que tu ne peux pas mettre une table des matières et des titres
numérotés dans ton article ?
En te remerciant par avance !
> Ton article est très interessant !
Il est vrai que malheureusement, tu ne peux pas rentrer trop dans les détails
de tout la syntaxe de LINQ (car comme tu l'as très bien dis, cela risque de
finir dans un bouquin de 500 pages...). Mais au moins tu donnes une très
bonne introduction sur Linq. Après il suffit d'avoir un bon FAI et un bon
navigateur et il reste plus qu'à surfer sur le MSDN !
Je voudrais juste faire une remarque concernant la dernière partie sur Linq
To Entities :
Tu dis qu'il faut utiliser le Designer de VS2008 "Linq To SQL", hors il me
semble que cela reste toujours du "Linq To SQL"... Et je ne vois guère la
différence a part que l'on utilise des objets générés automatiquement par
VS2008...
(au passage
dans ton article j'adore comment tu stéréotypes nos pauvres SGBD... ;-) ).
- Pourquoi Microsoft a appellé le Designer "Linq To SQL Classes" pour générer
et utiliser du Linq To Entities ?
- Le designer génére 2 types de classe : un DataContext et une classe objet.
Ou doit-on mettre le code généré par le Designer ? (plus simplement le
fichier .dbml)
* Dans la couche d'accès aux données ? Ok, mais c'est la couche de données
qui définit alors les classe objets... Alors qu'elle devrait être dans la
couche métier....
* Dans la couche métier ? Ok, mais l'objet DataContext est fortement
couplé aux SGBD ! De plus, il me semble que dans la couche métier on devrait
s'interdir d'avoir une référence à System.Data.Linq qui est spécifique à SQL
et donc à une source de données particulière.
Est-ce que tu peux éclairer un peu plus ma lanterne ?
Aussi, est-ce que tu ne peux pas mettre une table des matières et des titres
numérotés dans ton article ?
En te remerciant par avance !
> Ton article est très interessant !
Il est vrai que malheureusement, tu ne peux pas rentrer trop dans les détails
de tout la syntaxe de LINQ (car comme tu l'as très bien dis, cela risque de
finir dans un bouquin de 500 pages...). Mais au moins tu donnes une très
bonne introduction sur Linq. Après il suffit d'avoir un bon FAI et un bon
navigateur et il reste plus qu'à surfer sur le MSDN !
Je voudrais juste faire une remarque concernant la dernière partie sur Linq
To Entities :
Tu dis qu'il faut utiliser le Designer de VS2008 "Linq To SQL", hors il me
semble que cela reste toujours du "Linq To SQL"... Et je ne vois guère la
différence a part que l'on utilise des objets générés automatiquement par
VS2008...
(au passage
dans ton article j'adore comment tu stéréotypes nos pauvres SGBD... ;-) ).
- Pourquoi Microsoft a appellé le Designer "Linq To SQL Classes" pour générer
et utiliser du Linq To Entities ?
- Le designer génére 2 types de classe : un DataContext et une classe objet.
Ou doit-on mettre le code généré par le Designer ? (plus simplement le
fichier .dbml)
* Dans la couche d'accès aux données ? Ok, mais c'est la couche de données
qui définit alors les classe objets... Alors qu'elle devrait être dans la
couche métier....
* Dans la couche métier ? Ok, mais l'objet DataContext est fortement
couplé aux SGBD ! De plus, il me semble que dans la couche métier on devrait
s'interdir d'avoir une référence à System.Data.Linq qui est spécifique à SQL
et donc à une source de données particulière.
Est-ce que tu peux éclairer un peu plus ma lanterne ?
Aussi, est-ce que tu ne peux pas mettre une table des matières et des titres
numérotés dans ton article ?
En te remerciant par avance !
Sur ces points précis je suis encore à m'interroger moi-même sur les
meilleures pratiques à appliquer. Linq bouleverse la donne en rendant
bien plus floue (et c'est son but!) la nuance entre objets et données
persistantes...
On voit bien qu'il suffit d'ajouter des méthodes dans les entités pour
en faire des classes métier.. Est-ce souhaitable ? Au final une entité
de l'EDM c'est à la fois un DAL et un BOL. On nous a bassiné sur
l'intérêt méthodologique de cette séparation pendant des années...
Faut-il l'abandonner ?
je crois surtout qu'il faut développer de nouveaux paradigmes. Mais pour
ça il faut de l'expérimentation. Et comme on le précisait ici, on ne
dispose pas encore du "vrai" Linq to Entities. Ce qui rend cette
expérimentation un peu prématurée, ainsi que les conclusions qu'on peut
en tirer.
Pour le moment on peut utiliser pleinement Linq to SQL avec un designer
visuel très pratique. De fait, je serais tenté de dire qu'on s'arrête à
un DAL. Mais de quelques projets que j'ai déjà entamés avec Linq je
m'aperçois que créer une couche BOL en plus est un peu 'artificiel' et
alourdi le code pour un gain théorique et méthodologique qui se discute
franchement.. Moralité : je m'interroge encore :-)
Sur ces points précis je suis encore à m'interroger moi-même sur les
meilleures pratiques à appliquer. Linq bouleverse la donne en rendant
bien plus floue (et c'est son but!) la nuance entre objets et données
persistantes...
On voit bien qu'il suffit d'ajouter des méthodes dans les entités pour
en faire des classes métier.. Est-ce souhaitable ? Au final une entité
de l'EDM c'est à la fois un DAL et un BOL. On nous a bassiné sur
l'intérêt méthodologique de cette séparation pendant des années...
Faut-il l'abandonner ?
je crois surtout qu'il faut développer de nouveaux paradigmes. Mais pour
ça il faut de l'expérimentation. Et comme on le précisait ici, on ne
dispose pas encore du "vrai" Linq to Entities. Ce qui rend cette
expérimentation un peu prématurée, ainsi que les conclusions qu'on peut
en tirer.
Pour le moment on peut utiliser pleinement Linq to SQL avec un designer
visuel très pratique. De fait, je serais tenté de dire qu'on s'arrête à
un DAL. Mais de quelques projets que j'ai déjà entamés avec Linq je
m'aperçois que créer une couche BOL en plus est un peu 'artificiel' et
alourdi le code pour un gain théorique et méthodologique qui se discute
franchement.. Moralité : je m'interroge encore :-)
Sur ces points précis je suis encore à m'interroger moi-même sur les
meilleures pratiques à appliquer. Linq bouleverse la donne en rendant
bien plus floue (et c'est son but!) la nuance entre objets et données
persistantes...
On voit bien qu'il suffit d'ajouter des méthodes dans les entités pour
en faire des classes métier.. Est-ce souhaitable ? Au final une entité
de l'EDM c'est à la fois un DAL et un BOL. On nous a bassiné sur
l'intérêt méthodologique de cette séparation pendant des années...
Faut-il l'abandonner ?
je crois surtout qu'il faut développer de nouveaux paradigmes. Mais pour
ça il faut de l'expérimentation. Et comme on le précisait ici, on ne
dispose pas encore du "vrai" Linq to Entities. Ce qui rend cette
expérimentation un peu prématurée, ainsi que les conclusions qu'on peut
en tirer.
Pour le moment on peut utiliser pleinement Linq to SQL avec un designer
visuel très pratique. De fait, je serais tenté de dire qu'on s'arrête à
un DAL. Mais de quelques projets que j'ai déjà entamés avec Linq je
m'aperçois que créer une couche BOL en plus est un peu 'artificiel' et
alourdi le code pour un gain théorique et méthodologique qui se discute
franchement.. Moralité : je m'interroge encore :-)
> En fait je crois que tu confonds le Designer "Linq/SQL classes" et le
designer "Linq/E classes" (que l'on télécharge à part).
Mais on se retrouve alors à faire du mapping objet, reflétant exactement la
structure de la base de données comme les DataSet...
Donc je ne vois pas pourquoi tu mets le Designer Linq/SQL dans la partie
Linq/E, et surtout pourquoi tu fais la différence entre un "faux" et "vrai"
Linq/E....
Pour moi Linq/E est utiliser par le Framework ADO .NET Entity Framework à
part disponible ici :
http://msdn2.microsoft.com/en-us/library/bb896679.aspx
En utilisant ce designer, on s'aperçoit que l'on a comme tu l'as dis
précédement un mapping XML, mais aussi un modèle 100% objet (ou les relations
many/many sont possibles et que l'on peut mapper en une table).
Ce que je veux dire, c'est que j'ai plus l'impression que ta partie "Linq/E"
qui concerne le Designer de Linq/SQL devrait être dans la partie Linq/SQL et
que tu devrais plustôt parler dans la 3ème partie de l'autre Designer du ADO
.NET Entity Framework qui utilise Linq/E...
Pour moi, en consultant les forums anglais de Linq/SQL, je m'aperçois comme
toi que le Linq/SQL regroupe la couche DAL et BOL. Cela permet un
développement beaucoup plus rapide, mais orienté à 100% sur du relationnel...
A la différence de Linq/Entities (avec le Framework ADO .NET Entity
Framework) permet toujours le découpage en couche...
Seulement, les objets générées par le designer se situe au niveau du BOL et
dans le DAL on retrouve uniquement les fichiers XML de Mapping et les
bibliothèques implémentant le fournisseurs sous-jacent que l'on utilise...
> En fait je crois que tu confonds le Designer "Linq/SQL classes" et le
designer "Linq/E classes" (que l'on télécharge à part).
Mais on se retrouve alors à faire du mapping objet, reflétant exactement la
structure de la base de données comme les DataSet...
Donc je ne vois pas pourquoi tu mets le Designer Linq/SQL dans la partie
Linq/E, et surtout pourquoi tu fais la différence entre un "faux" et "vrai"
Linq/E....
Pour moi Linq/E est utiliser par le Framework ADO .NET Entity Framework à
part disponible ici :
http://msdn2.microsoft.com/en-us/library/bb896679.aspx
En utilisant ce designer, on s'aperçoit que l'on a comme tu l'as dis
précédement un mapping XML, mais aussi un modèle 100% objet (ou les relations
many/many sont possibles et que l'on peut mapper en une table).
Ce que je veux dire, c'est que j'ai plus l'impression que ta partie "Linq/E"
qui concerne le Designer de Linq/SQL devrait être dans la partie Linq/SQL et
que tu devrais plustôt parler dans la 3ème partie de l'autre Designer du ADO
.NET Entity Framework qui utilise Linq/E...
Pour moi, en consultant les forums anglais de Linq/SQL, je m'aperçois comme
toi que le Linq/SQL regroupe la couche DAL et BOL. Cela permet un
développement beaucoup plus rapide, mais orienté à 100% sur du relationnel...
A la différence de Linq/Entities (avec le Framework ADO .NET Entity
Framework) permet toujours le découpage en couche...
Seulement, les objets générées par le designer se situe au niveau du BOL et
dans le DAL on retrouve uniquement les fichiers XML de Mapping et les
bibliothèques implémentant le fournisseurs sous-jacent que l'on utilise...
> En fait je crois que tu confonds le Designer "Linq/SQL classes" et le
designer "Linq/E classes" (que l'on télécharge à part).
Mais on se retrouve alors à faire du mapping objet, reflétant exactement la
structure de la base de données comme les DataSet...
Donc je ne vois pas pourquoi tu mets le Designer Linq/SQL dans la partie
Linq/E, et surtout pourquoi tu fais la différence entre un "faux" et "vrai"
Linq/E....
Pour moi Linq/E est utiliser par le Framework ADO .NET Entity Framework à
part disponible ici :
http://msdn2.microsoft.com/en-us/library/bb896679.aspx
En utilisant ce designer, on s'aperçoit que l'on a comme tu l'as dis
précédement un mapping XML, mais aussi un modèle 100% objet (ou les relations
many/many sont possibles et que l'on peut mapper en une table).
Ce que je veux dire, c'est que j'ai plus l'impression que ta partie "Linq/E"
qui concerne le Designer de Linq/SQL devrait être dans la partie Linq/SQL et
que tu devrais plustôt parler dans la 3ème partie de l'autre Designer du ADO
.NET Entity Framework qui utilise Linq/E...
Pour moi, en consultant les forums anglais de Linq/SQL, je m'aperçois comme
toi que le Linq/SQL regroupe la couche DAL et BOL. Cela permet un
développement beaucoup plus rapide, mais orienté à 100% sur du relationnel...
A la différence de Linq/Entities (avec le Framework ADO .NET Entity
Framework) permet toujours le découpage en couche...
Seulement, les objets générées par le designer se situe au niveau du BOL et
dans le DAL on retrouve uniquement les fichiers XML de Mapping et les
bibliothèques implémentant le fournisseurs sous-jacent que l'on utilise...
J'ai fait quelques modifs à la section Linq to Entities, j'en ai profité
pour ajouter une table des matières tu seras content :-)
Si tu as le temps regarde la partie Linq to Entities et dis moi si les
modifs de l'article te paraissent éclaircir les choses ou les
embrouiller...
J'ai fait quelques modifs à la section Linq to Entities, j'en ai profité
pour ajouter une table des matières tu seras content :-)
Si tu as le temps regarde la partie Linq to Entities et dis moi si les
modifs de l'article te paraissent éclaircir les choses ou les
embrouiller...
J'ai fait quelques modifs à la section Linq to Entities, j'en ai profité
pour ajouter une table des matières tu seras content :-)
Si tu as le temps regarde la partie Linq to Entities et dis moi si les
modifs de l'article te paraissent éclaircir les choses ou les
embrouiller...
> Voilà qui en fait un très bon article !
Maintenant les débutants se mélangeront moins les pinceaux !
> Voilà qui en fait un très bon article !
Maintenant les débutants se mélangeront moins les pinceaux !
> Voilà qui en fait un très bon article !
Maintenant les débutants se mélangeront moins les pinceaux !