2008-12-08 7 views
7

Мне было интересно, что люди думали о решении поддержать Entity Framework над LINQ-to-SQL? У меня есть приложение, которое я разрабатываю изначально в LINQ-to-SQL. Я нашел это идеальным решением для нашего приложения.Мысли на платформе Entity

При попытке переноса в Entity Framework я был удивлен, насколько это было грубо. ИМХО, даже близко к тому, чтобы быть готовым к прайм-тайму. Нет ленивой загрузки, никаких POCOs, ужасная зависимость от наследования. Я нашел это в значительной степени непригодным для использования в моем случае и вместо этого решил придерживаться LINQ-to-SQL, пока каким-то образом этот Entity Framework не станет более полированным.

У кого-нибудь еще есть с ним подобный опыт?

ответ

4

Это почти мой взгляд. См. Мой предыдущий ответ here. Этот другой вопрос не касался конкретно проблем в EF, но да: у него довольно много сбоев. Например (в дополнение к существующим параметрам):

  • нет поддержки Expression.Invoke (повторное использование деревьев выражений, чтобы сформировать более сложное выражение)
  • нет поддержки для настольного UDF,, который может быть использован для создания четко определенные, вызываемые методы в базе данных, которые до сих пор компонуемы с сортировкой/пропустить/взять и т.д.

LINQ к SQL обрабатывает как раз отлично ...

+0

Любые мысли о EF4? Мне любопытно, решает ли он ваши проблемы с оригиналом. – 2010-06-02 14:13:31

2

Я думаю, что это зависит от платформы приложения. Когда моя команда собиралась создать новое приложение ASP.net, мы хотели пойти с EF ... но после немного поиграв с ним, мы отправились с Linq-To-SQL. В веб-среде управление потоком данных L2S было намного проще. Кроме того, нам понравилось, что объекты L2S выставляют исходное поле идентификатора (например, EmployeeTypeId), в отличие от EF, которое будет иметь только дочерний объект. В веб-среде много раз вам не нужна эта дополнительная информация, Id достаточно, потому что это ссылка на выпадающий список, который уже был загружен (и, вероятно, кэширован).

+0

Не подвергая идентификаторы был еще один вопрос, который я имел. Кроме того, если вы хотите поддержать многих для многих, вам нужно было создать таблицу только с идентификаторами и другими полями, иначе это не повлияло бы на отношения. – Jiyosub 2008-12-09 04:17:43

1

L2S является более зрелым для того, что это сделано для.

И я все же буду рассматривать EF как BETA realease.

есть много дискуссий вокруг EF, вы можете найти гораздо больше в связанных вопросах.

1

Согласен. В Entity Framework v1 (версия. NET 3.5 SP1) слишком много ошибок и недостатков дизайна, чтобы сделать их пригодными для использования в реальном мире. EFv4 выглядит более перспективным, хотя ...

1

Я слышал, что L2S быстро идет по пути додо. Есть немного болтовни о переходе на openource - но группа ADO.NET в Microsoft планирует приложить все свои усилия к EF ...

Печально, потому что я считаю, что Linq2SQL чрезвычайно прост в работе и мысль о переносе всего моего кода заставляет меня немного болеть.

Update on LINQ to SQL and LINQ to Entities Roadmap

Смежные вопросы