ОК, я только что написал блог об этом . Я делаю репост ниже для пользы других.
Основная суть, по-видимому, в комментариях, сделанных в блоге ado.net, в которых говорится, что Entity Framework - это единственное, что дает основному времени разработчиков Visual Studio 2010 и Dot Net 4.
Мы знали это
Мой ответ - DUH. Мы все это знали. Microsoft публично заявил на PDC 2007, что LINQ to SQL был кратковременным выпуском для SQL Server, потому что не было никакой другой истории LINQ для SQL Server. Работает только с SQL Server. Вы не можете написать поставщика LINQ to SQL - для него нет модели. Это была уникальная технология, не расширяемая.
Entity Framework = Поставщик
Entity Framework - это ЕДИНСТВЕННЫЙ путь от Microsoft по созданию поставщика LINQ. Платформа Entity Framework оказалась довольно противоречивой, но я думаю, что это отчасти связано с тем, что LINQ to SQL сегодня лучше воспринимается программистами. Entity Framework будет ловить и превосходить LINQ to SQL, потому что это инструмент будущего ORM / Mapping от Microsoft.
Я думаю, что Microsoft вкладывает огромные средства в Entity Framework со сторонними поставщиками, такими как мы, IBM, Oracle и т. Д. Если они хотят, чтобы сторонние разработчики и базы данных поддерживали LINQ, им нужно было иметь модель для записи. Entity Framework - это ответ.
Я видел это в прошлом году, когда они выпустили LINQ to SQL с VS 2008, а не с EF. Они никогда не должны были выпускать закрытую реализацию чего-либо с таким большим перекрытием. Я знаю, что они хотели историю с реляционной базой данных, но я думаю, что они рассказали не ту историю. Сейчас есть много серьезно запутанных разработчиков, которые спрашивают нас о нашем поставщике LINQ to SQL. Нет ни одного, потому что вы не можете его написать.