Что такое "Linq to SQL"? - PullRequest
       25

Что такое "Linq to SQL"?

5 голосов
/ 22 августа 2009

У меня была беседа с коллегой о «Linq to SQL». Я все еще новичок в .NET, поэтому он думает, что мне нужно больше узнать. (тем не менее, 30 лет общего опыта программирования должны учитываться в моих интересах, верно?) Я прочитал несколько книг и для нового проекта решил использовать ADO.NET Entity Data Model. Мой коллега не согласился, потому что он «знал», что у сущностей было много проблем. Это вызвало утечки памяти на сервере базы данных, и Microsoft все равно собирается прекратить его. Он сказал мне, что вместо этого я должен использовать модуль данных. Просто добавьте .dbml в мой проект и используйте ссылку поверх этого.

У него 5 лет опыта работы в .NET, что на 4 года больше, чем у меня.

Я остановился, чтобы не называть его идиотом или идиотом или кем-то еще, потому что мне кажется, что он думает, что "Ссылка на SQL" == "Модель данных сущностей" ...

Тем не менее, у меня появились небольшие сомнения. Я думал, что Linq to SQL основан на файлах .dbml и, следовательно, на моделях данных. И я слышал, что у Linq to SQL есть несколько технических проблем, и вскоре он будет заменен моделью Entity. Если мой коллега перепутал эти два, то он полный идиот. Но так как он имеет 5-летний опыт работы и поскольку я сомневаюсь, что мой сотрудник даже наймет дебилов, у меня начались сомнения.

Итак, что же такое "Linq to SQL"?

Ответы [ 2 ]

19 голосов
/ 22 августа 2009

LINQ to SQL и Entity Framework, конечно, не одно и то же.

Это в основном разные ORM, как от Microsoft, так и от двух, выступающие в качестве поставщиков LINQ. LINQ to SQL был представлен в .NET 3.5, а Entity Framework был представлен в .NET 3.5 SP1.

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

LINQ to SQL работает только с конкретными базами данных - в основном с SQL Server и SQL Server CE. Entity Framework (по крайней мере теоретически) более независим от базы данных, поэтому поставщики баз данных могут подключать своих собственных поставщиков.

2 голосов
/ 26 августа 2009

Если ваш друг предполагал, что LINQ to Entities исчезнет, ​​он получит это назад:

LINQ to SQL будет по-прежнему поддерживаться, но не будет расширяться в будущем. LINQ to Entities здесь и останется предпочтительной платформой Microsoft для доступа к данным для .NET.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...