Если я использую SQL Server в качестве моей службы базы данных, есть ли веские основания смотреть на LINQ to Entities над Linq to SQL?linq to sql vs ado.net entity
ответ
Linq to SQL больше не активно развивается - они фокусируют свои ресурсы на Entity Framework. Кроме того, EF намного более надежна и позволяет использовать несколько более сложных сценариев, которые были упущены в Linq to Sql.
Пока вы исследуете ORM, я бы серьезно посмотрел на NHibernate. Он был дольше, чем любой из предложений Microsoft, и является гораздо более универсальным.
L2S был расширен (некоторые) в .NET 4. –
@Craig: какие были улучшения для L2S? –
@John Saunders http://damieng.com/blog/2009/06/01/linq-to-sql-changes-in-net-40 –
Linq to SQL достаточно хорош, если вам нужно только одно-однозначное сопоставление между вашими классами и таблицами, подумайте об этом как о «объектной» версии наборов данных.
EF позволяет выполнять намного более сложные отображения.
В долгосрочной перспективе Microsoft подталкивает всех к EF, однако EF более сложна в использовании. До тех пор, пока корабли .net 4 очень сложно выполнять разработку тест-драйвов с помощью EF.
Если вы собираетесь скрыть весь доступ к данным за набором интерфейсов и создать объекты домена самостоятельно на основе строк, которые вы получаете из базы данных, то Linq to SQL является хорошим вариантом в краткосрочной перспективе. Но вы, , можете отправить в EF в долгосрочной перспективе.
Если вы хотите, чтобы сопоставить объекты домена в базе данных с помощью ОРМ, то EF является лучшим объектом, но также и рассмотреть nhibernate
Если вы вернетесь через несколько лет времени ответа на свой вопрос будет EF, однако не ясна в настоящее время ...
Это зависит от того, как вы делаете TDD. Если вы выполняете модульные тесты с реальной базой данных, то этого недостатка не существует с EF. –
Ответ на вопрос на самом деле NHibernate - к сожалению, это не вариант для некоторых магазинов. –
@John - ваши модульные тесты не должны полагаться на базу данных, если вы на самом деле не проверяете уровень доступа к данным. Он медленный и нарушает всю идею тестирования в изоляции/ –
есть так много веских причин, чтобы выбрать Entity Framework над LinqToSql, но вы должны только один:
Microsoft предпочел бы использовать Entity Framework , Microsoft выделяет значительную часть ресурсов разработки ORM за EF. Это их будущая дорога.
К сожалению, EF 3.5 был значительным шагом назад от LinqToSql несколькими способами, поэтому Microsoft действительно подтолкнула многих людей, которые хотели использовать EF обратно в LinqToSql. С EF 4.0 EF не полностью эквивалентна функции LinqToSql, но она намного ближе.
EF 4.0 предлагает множество функций, которые LinqToSql в настоящее время не поддерживает и, вероятно, никогда не будет.
Держитесь подальше от EF 3.5. Если вы хотите ORM для .NET 3.5, используйте NHibernate. Для .NET 4.0 выберите между NHibernate и Entity Framework. На самом деле нет хорошей причины для использования LinqToSql с .NET 4.0.
- 1. ADO.NET Entity Framework и LINQ to SQL
- 2. Entity Framework vs Linq to Entities vs Linq to SQL
- 3. ADO.Net + LINQ To SQL
- 4. Linq To Sql vs Entity Framework Performance
- 5. Linq to SQL VS Entity Framework
- 6. ADO.NET Entity Framework - LINQ to multiple dbms
- 7. LINQ TO SQL, ADO.NET Entity Framework, T-SQL
- 8. Entity Framework VS LINQ to SQL VS ADO.NET с хранимыми процедурами?
- 9. Linq to SQL Entity Splitting
- 10. Linq To Sql Операции Entity
- 11. ADO.Net Entity Framework/Linq
- 12. Модель данных Visual Studio 2010 ADO.NET vs Linq to SQL
- 13. Entity Framework vs. ADO.NET
- 14. Entity DBContext to LinQ
- 15. linq vs ado.net performance
- 16. LINQ to ADO.net Entities
- 17. LINQ-to-SQL эквивалент ADO.NET EF's GetObjectByKey
- 18. LINQ to SQL или классический ADO.NET?
- 19. Linq to Sql с ADO.Net Data Services
- 20. Службы данных ADO.NET с Linq-to-SQL
- 21. ADO.NET Entity Model и LINQ
- 22. NHibernate vs LINQ to SQL
- 23. Linq to SQL vs Serialization
- 24. Linq To SQL vs Entity Framework Строки подключения
- 25. Linq to SQL vs Entity Framework, поддержка Microsoft для
- 26. LINQ to SQL без VS 2008
- 27. ADO.NET Entity Framework vs NHibernate
- 28. LINQ to SQL Projection: Func vs Inline
- 29. LINQ to SQL vs Entity Framework для приложения с будущей версией SQL Azure
- 30. Subsonic 3 LINQ vs LINQ to SQL
Дубликат много, много, много раз: http://stackoverflow.com/questions/8676/entity-framework-vs-linq-to-sql http://stackoverflow.com/questions/364740/linq -2-sql-or-linq-объекты http://stackoverflow.com/questions/264175/entity-framework-linq-to-sql-conflict-of-interest и т. Д. И т. Д. И т. Д. –