Je ne fais que commencer avec la pile Microsoft qui fait un site web dans ASP.Net MVC et jusqu'à présent en utilisant LINQ to SQL. Devrais-je considérer LINQ to Entities? A-t-il quelque chose de spécial à offrir? Si oui, quoi?Dois-je considérer LINQ to Entities?
Répondre
I J'ai enquêté sur cette chose exacte moi-même.
Voici mes conclusions en un mot
LINQ to SQL
Avantages
- Incroyablement facile à utiliser
Inconvénients
Impossible de mettre à jour le diagramme à partir de la base de données, vous devez supprimer votre classe, puis le faire glisser sur le diagramme à partir de la base de données. C'est une vraie douleur si vous avez modifié le diagramme du tout.
Ne sont plus en cours de développement (ils vont développer Entity Framework à la place).
Entity Framework
Avantages
a une fonctionnalité beaucoup plus (tableau d'héritage, etc ...)
peut-il être mis à jour à partir de la base de données
A plusieurs fournisseurs (et pas seulement SQL)
Le modèle peut être interrogé sans utiliser LINQ, vous pouvez utiliser Entity SQL
Microsoft semble investir fortement et propose comme le principal moyen d'accès une base de données: Update on LINQ to SQL and LINQ to Entities Roadmap, Clarifying the message on L2S Futures.
Inconvénients
- Compliqué et beaucoup moins intuitive
Conclusion
Personnellement, je décide d'aller dans la voie d'utiliser Entity Framework. J'ai acheté un livre et j'ai lu le matériel en ligne et j'en suis très impressionné. Il a fallu un peu d'effort supplémentaire pour apprendre, mais les avantages sont vraiment grands.
Voici un article décrivant les différences entre les deux:
http://dotnetaddict.dotnetdevelopersjournal.com/adoef_vs_linqsql.htm
trouver intéressant. –
est ici une petite comparaison des deux, il y a des avantages et des inconvénients à la fois.
http://dotnetaddict.dotnetdevelopersjournal.com/adoef_vs_linqsql.htm
D'abord, Linq à l'entité offre plusieurs à plusieurs functionnality
Deuxièmement, Microsoft aurait mis plus de temps dans ce
et je suis sûr que beaucoup d'autres bonnes raisons
Bien que LINQ to SQL ne disparaisse pas, Microsoft mise sur LINQ to Entities. Pour cette raison, j'irais avec LINQ to Entities.
Le Blog de l'équipe ADO.NET a plus d'informations sur la question:
http://blogs.msdn.com/adonet/archive/2008/10/31/clarifying-the-message-on-l2s-futures.aspx
J'ai énuméré ces messages par ordre chronologique, mais assurez-vous de lire au moins le dernier - c'est en fait le plus important.
- 1. Linq to Entities System.data.Objects
- 2. LINQ to Entities
- 3. LINQ to Entities
- 4. LINQ to Entities requêtes Oddity
- 5. OnValidate() et LINQ to Entities
- 6. Linq to Entities - Eager Chargement
- 7. Linq to Entities et propriétés concaténées
- 8. LINQ to Entities et Xml Les champs
- 9. Problème avec LINQ to Entities et String.StartsWith
- 10. Désireuse chargement et LINQ to Entities
- 11. Clause "NOT IN" dans LINQ to Entities
- 12. Linq To Entities Générer de grandes requêtes
- 13. Optimize Grouper par dans LINQ to Entities
- 14. dates distinctes dans LINQ To Entities?
- 15. LINQ to Entities pour soustraire 2 dates
- 16. LINQ to Entities: Les expressions lambda
- 17. Jointure externe gauche dans Linq-To-Entities
- 18. Pourquoi ASP.NET MVC sélectionne-t-il Linq to SQL sur LINQ to Entities?
- 19. Est-ce que LINQ to Entities réutilise des instances d'objets?
- 20. Linq to Entities Filtrage d'une entité dynamique/fortement typée
- 21. Comment utiliser flags enums dans les requêtes Linq to Entities?
- 22. Linq to Entities requête frappant deux fois db
- 23. LINQ to Entities sur (base de données! = Microsoft SQL Server)
- 24. LINQ to Entities: requête avec quatre tables REJOIGNEZ
- 25. Linq to Entities - Supprimer d'un lien/table de jonction
- 26. Visualiser le SQL généré à partir de Linq To Entities
- 27. Linq to Entities jointures excessives dans le code SQL généré
- 28. LINQ to Entities: Faire la requête en face
- 29. Linq to Entities Vs. Adaptateurs de table (Windows Forms Windows)
- 30. Linq to Entities Left Outer Join/Sous-requête?
Il ne supporte pas POCO - c'est pourquoi je ne vais pas le toucher. –
L2S a également l'avantage d'être sacrément rapide, presque aussi rapide que ADO.NET natif lors de l'utilisation de requêtes compilées. Il est également beaucoup plus léger que EF. Pour les petits projets avec des exigences simples j'utiliserais probablement L2S. En outre, L2S est assez bon pour conduire StackOverflow. La version 4 d'EF semble vraiment intéressante. –