Я только начинаю с стека Microsoft, делающего веб-сайт в ASP.Net MVC и до сих пор использующий LINQ to SQL. Должен ли я рассматривать LINQ для Entities? Есть ли что-нибудь особенное? Если да, то?Должен ли я рассматривать LINQ для объектов?
ответ
I изучили эту самую вещь самостоятельно.
Вот мои выводы в словах
LINQ к SQL
Преимущества
- Невероятно простая в использовании
Недостатки
Не удается обновить диаграмму из базы данных, вы должны удалить свой класс, а затем перетащить его обратно на диаграмму из базы данных. Это настоящая боль, если вы вообще изменили диаграмму.
Не активно развивается (вместо этого они будут разрабатывать Entity Framework).
Entity Framework
Преимущества
имеет гораздо больше функциональных возможностей (таблица наследования, и т.д. ...)
Может быть обновлены из базы данных
Имеет несколько поставщиков (не только SQL)
Модель может быть запрошен без использования LINQ, вы можете использовать Entity SQL
Microsoft, кажется, в значительной степени инвестировать в него и предлагать его в качестве основного способа доступа база данных: Update on LINQ to SQL and LINQ to Entities Roadmap, Clarifying the message on L2S Futures.
Недостатки
- Сложное и гораздо менее интуитивным
Заключение
лично я решил идти по пути использования Entity Framework. Я купил книгу и прочитал онлайн-материал, и я очень впечатлен им. Потребовалось немного дополнительных усилий, чтобы учиться, но преимущества действительно великолепны.
Вот статья, описывающая различия между ними:
http://dotnetaddict.dotnetdevelopersjournal.com/adoef_vs_linqsql.htm
интересная находка. –
здесь немного сравнение этих двух, есть плюсы и минусы обоих.
http://dotnetaddict.dotnetdevelopersjournal.com/adoef_vs_linqsql.htm
Во-первых, Linq для лица предлагают многие ко многим functionnality
Во-вторых, Microsoft будет уделять больше времени в нее
и я уверен, что во многих других уважительных причин
Хотя LINQ to SQL не собирается уходить, Microsoft делает ставку на LINQ to Entities. По этой причине я бы пошел с LINQ в Entities.
Блог ADO.NET Команда имеет больше информации по этому вопросу:
http://blogs.msdn.com/adonet/archive/2008/10/31/clarifying-the-message-on-l2s-futures.aspx
Я перечислил эти сообщения в хронологическом порядке, но не забудьте прочитать по крайней мере, последний - это на самом деле самое важное.
- 1. Должен ли я рассматривать Portable Class Libraries?
- 2. Должен ли я рассматривать Simple XML Framework для Java?
- 3. Должен ли я рассматривать SpriteKit для не-игрового приложения iOS?
- 4. Должен ли я рассматривать Erlang для веб-mvc?
- 5. Когда я должен рассматривать представление первичного ключа ...?
- 6. Должен ли я рассматривать значения rgb пикселя как одно значение?
- 7. Должен ли я рассматривать свои собственные одиночные атрибуты как частные?
- 8. Должен ли я рассматривать следующий код как безопасный поток?
- 9. Должен ли я рассматривать параллелизм в статистических вызовах?
- 10. Должен ли я рассматривать последствия Azure перед его разработкой?
- 11. Должен ли я рассматривать скорость, ограничивающую мои API REST?
- 12. Должен ли начинающий PHP-программист рассматривать рамки?
- 13. Должен ли я использовать LINQ для этого запроса?
- 14. Должен ли я использовать LINQ To SQL?
- 15. Могу ли я выполнить операцию «или» в LINQ для объектов?
- 16. Должен ли я использовать разные мьютексы для разных объектов?
- 17. Должен ли я использовать AutoMapper из ViewModel для объектов модели
- 18. Должен ли я использовать from_xml или from_json для импорта объектов?
- 19. Должен ли я создавать интерфейсы для моих объектов?
- 20. Должен ли я вызвать метод Release() для объектов CComPtr?
- 21. Должен ли я использовать модель представления только для двух объектов?
- 22. Практика DDD: Должен ли я создать репозиторий для объектов значений
- 23. Должен ли я вызвать Dispose() для управляемых объектов?
- 24. Должен ли я рассматривать любые другие инструменты вне инструментов разработки Apple для разработки iPad?
- 25. Должен ли я рассматривать отображаемые объявления при подключении приложения для оценки в itunes?
- 26. Должен ли я рассматривать порядок байтов, когда я передать структуру с розеткой
- 27. Стратегия кэширования удаленной службы; что я должен рассматривать?
- 28. Должен ли быть утилизирован для всех объектов
- 29. Ли Linq для объектов бросает SqlExceptions?
- 30. Должен ли я использовать макет объектов при модульном тестировании?
Он не поддерживает POCO - вот почему я не буду трогать его. –
L2S также обладает тем преимуществом, что он довольно быстрый, почти так же быстро, как и родной ADO.NET при использовании скомпилированных запросов. Это также намного более легкий вес, чем EF. Для небольших проектов с простыми требованиями я бы, вероятно, использовал L2S. Кроме того, L2S достаточно хорош для управления StackOverflow. EF версия 4 действительно выглядит очень интересно. –