2013-11-22 2 views
3

Может ли LINQ to Entities полностью заменить технологию ADO.Net?LINQ to Entities v/s ADO.Net

Что я действительно хочу знать, возможно ли достичь всех функций и функций, которые ADO.Net предоставляет с помощью LINQ? Кто такой босс?

+2

Я думаю, что вы имеете в виду 'LINQ к Entity' и' LINQ к SQL ', поэтому ответ НЕТ, ADO.NET - это своего рода * нижний уровень *. Вы все еще можете использовать его для некоторого улучшения скорости (но не очень много) и некоторого старого шаблона. Ваш вопрос похож на * Can C# заменить C++? *, Насколько я знаю 'LINQ-to-Entity' построен поверх' ADO.NET'. –

+0

Мой вопрос был между Linq-to-Entity и чистым кодированием ADO.Net для доступа к БД. –

+5

Linq2Entity - это просто набор классов, который скрывает вызовы ado.net, картографирование данных и многое другое от вас. Linq2Entity помогает нам получить доступ к данным БД менее «низкоуровневым» образом. Так что реальный ответ: «ADO.NET - это босс». –

ответ

4

Так как вы сказали в своем комментарии, что вы имеете в виду LINQ к Entities, я отвечу так:

LINQ для лиц внутри страны использовать ADO.Net, так что это было бы невозможно для LINQ к Entities заменить ADO.Net, потому что он использует его. Однако я предполагаю, что вы хотите спросить, можете ли вы использовать LINQ для Entities в любой ситуации, в которой вы могли бы использовать ADO.Net. Ответ - нет, вы не можете.

Есть случаи, когда вы не хотели бы (или не могли) использовать LINQ для Entities. Например, если вы находитесь в определенной ситуации, когда вам нужна более высокая производительность для запроса, было бы лучше использовать хранимую процедуру. Обычно LINQ to Entities - лучший выбор, когда производительность разработчиков имеет более высокий приоритет, чем скорость выполнения запросов. Другие случаи, когда LINQ to Entities не являются хорошим выбором, - это когда БД плохо спроектирована и, например, не имеет первичного ключа.

Но главное, что я думаю: что имеет более высокий приоритет в вашей ситуации? Производительность или производительность разработчика? Также вполне приемлемо использовать обе технологии. Заполните проект с помощью LINQ to Entities, и если есть проблемы с производительностью, используйте хранимые процедуры или ADO.Net.

Кроме того, я бы не использовал LINQ для Entities для больших запросов или запросов, которые имеют много объединений, синтаксис LINQ для соединений не очень точный и может повредить читабельность вашего кода.

+1

Спасибо. Это было достаточно кратким. –

1

@ Редди, это полностью зависит от сценария, в котором вы решаете, какую технологию использовать. ADO.NET дает структуру кортежа с использованием DataSet в фокусе и используется даже днем ​​по сравнению с ORM, например, с технологией, т.е. LINQ-Entity. Я воздержался от ADO.NET, когда основной аспект приложения вращается вокруг обработки записи, используемой в конвейере SSIS, но привязанной к LINQ-Entity, когда я в первую очередь следую подходам Test Driven Development или Domain Driven Development.

0

1) ADO.NET - это технология подключения к базе данных, поэтому мы можем использовать ado.net для работы только с базами данных, но если мы получим требование получить данные из источников данных из базы данных, таких как xml, коллекции и т. Д. это невозможно. Но используя LINQ, можно получить данные из многих источников данных, таких как коллекции, XML-файлы, сущности, даже с помощью баз данных.

2) Но если вы придете к производительности, то ADO.NET будет намного быстрее, чем любые другие соединительные технологии базы данных.

3) Если вы идете с ошибками времени LINQ Run можно исправить ошибки, так будет меньше, поэтому надежность увеличивает

so ADO.NET vs LINQ technologies both having their own positives and negative features ,Microsoft given huge amount of featured technologies, so according to the application requirement we need to go with that technology. 
+0

Позвольте исправить это: 1. и 2. Неправда.ADO.NET - это всего лишь фреймворк, который дает множество способов управления данными с помощью дисков (ole db, odbc). Вы можете использовать любой источник данных, пока водитель может его обработать. 3. В самом деле, из-за сильного типа подход - это то, о чем вы говорите, надежность сомнительна – stenly