Entity Framework против LINQ to SQL

.net entity-framework linq-to-sql

Вопрос

Теперь, когда был выпущен .NET v3.5 SP1 (вместе с VS2008 SP1), у нас теперь есть доступ к структуре .NET.

У меня вопрос такой. При попытке выбора между использованием Entity Framework и LINQ to SQL в качестве ORM, какая разница?

Как я понимаю, Entity Framework (при использовании с LINQ to Entities) является «старшим братом» для LINQ to SQL? Если это так, то какие преимущества он имеет? Что он может сделать, что LINQ to SQL не может сделать самостоятельно?

Принятый ответ

LINQ to SQL поддерживает только отображение 1: 1 таблиц базы данных, представлений, sprocs и функций, доступных в Microsoft SQL Server. Это отличный API для быстрого доступа к данным для относительно хорошо спроектированных баз данных SQL Server. LINQ2SQL был впервые выпущен с C # 3.0 и .Net Framework 3.5.

LINQ to Entities (ADO.Net Entity Framework) - это API-интерфейс ORM (Object Relational Mapper), который позволяет широко определять модели предметной области и их отношения со многими различными поставщиками данных ADO.Net. Таким образом, вы можете смешивать и сопоставлять несколько разных поставщиков баз данных, серверов приложений или протоколов для разработки агрегированной совокупности объектов, которые создаются из множества таблиц, источников, служб и т. Д. Платформа ADO.Net Framework была выпущена с .Net Framework 3.5 SP1.

Это хорошая вводная статья о MSDN: введение в LINQ для реляционных данных


Популярные ответы

Я думаю, что быстрый и грязный ответ заключается в том, что

  • LINQ to SQL - это простой и быстрый способ сделать это. Это означает, что вы будете работать быстрее и быстрее, если работаете над чем-то меньшим.
  • Entity Framework - это универсальный, не имеющий запретов способ сделать это. Это означает, что вы потратите больше времени на предварительную разработку, будете медленнее развиваться и будете более гибкими, если вы работаете над чем-то большим.


Related

Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему