Il y a quelques questions "devrais-je choisir ceci ou cela" sur SO et Google, ainsi que beaucoup de comparaison entre LINQ2SQL et LINQ2E. J'ai vu des inconvénients, des différences, des inconvénients, des avantages, des limitations, etc.De l'ancien DataLayer au LINQ en passant par le SQL/Entity Framework
Je ne peux pas dire que je suis un expert mais j'aimerais savoir "que feriez-vous" si vous faisiez face à ce scénario et pourquoi.
Je dois ajouter des choses à une "ancienne" application 2.0 qui a été récemment migrée vers la version 3.5 (elle a été compilée en quelques exemplaires, avec quelques avertissements ici et là). Comme je dois ajouter de nouvelles choses, je veux commencer à utiliser LINQ (2SQL ou Entities). Par le passé, j'ai travaillé avec Linq2SQL et j'aime le fait que c'est une solution rapide et facile à utiliser ... Si vous ne voulez rien faire de trop bizarre. La relation naturelle entre les tables et autres est une aubaine si vous venez des anciens "Recordsets". La possibilité d'avoir différents datacontexts dépend également de l'ensemble de tables avec lequel vous voulez travailler. Comme la quantité de choses et de nouvelles fonctionnalités augmente, j'ai commencé à envisager la possibilité d'essayer l'Entity Framework au lieu de Linq2SQL. Ce que je n'aime pas à propos de ce dernier est l'incapacité à gérer les relations Many2Many sans avoir recours à un hack.
C'est là Entity Framework vient. Mais , vous ne pouvez pas avoir plusieurs « petits modèles » comme vous le faites avec Linq2Sql et les « DataContexts », à moins que vous sacrifier des choses some et quelques trucs other.
La base de données contient actuellement 218 tables, mais elle ne grossit pas considérablement. Une nouvelle table de temps en temps, mais nous ne parlons pas de 10 tables par jour. Je dirais que nous aurons du mal à atteindre 250 tables au cours de l'année suivante.
Il sont Beaucoup 2 De nombreuses relations, certaines avec le seul PK/PK et certains avec des agrégats (qui Entity Framework ne prend pas en magically handle, mais il peut y faire face. C'est la raison pour laquelle je ne voudrais pas à commencer par Linq2SQL à moins que le hack est « ok » et une méthode acceptée.
que feriez-vous? compromis les relations n..n (sachant que même quand il y a un hack, il ne sera pas aussi élégant ni « supporté "comme une solution intégrée) et aller avec Linq2SQL et sa" avoir beaucoup de petites bases de données que vous créez et détruire "philosophie ou, d'autre part, continuer avec Entity Framework, avoir gigantesque données modèle avec toutes les tables ou les relations et commencer à partir de là? Même lorsque la création de plusieurs modèles ont des inconvénients (voir les liens là-haut) et avoir un modèle géant a par contre.
Il y a aussi des commentaires non-officiels sur Microsoft "drop" Linq2SQL (je doute mais on ne sait jamais). Notre base de données est MSSQL et je ne vois pas cela changer bientôt.
Toute expérience dans ce domaine sera appréciée.
Comment êtes-vous marié au concept d'utilisation des concepteurs O/R fournis avec LinqToSql/EntityFramework? On dirait que vous insistez pour avoir ce soutien, mais vous avez plus de 200 tables. À cette échelle, quelque chose comme SQLMetal/EdmGen offrirait probablement une meilleure expérience globale. –
duplication possible de [Conversion d'un DAL LinqToSql en EntityFramework] (http://stackoverflow.com/questions/787807/converting-a-linqtosql-dal-to-entityframework) –