Зачем переходить с ADO на ADO.NET? - PullRequest
4 голосов
/ 21 июля 2009

У меня есть друзья, которые являются разработчиками баз данных VB6 "старой школы", и я рассказывал им о .NET и его функциях, в частности, ADO.NET.

В нашем разговоре они привели следующие причины, по которым они предпочитают придерживаться ADO, а не переходить на ADO.NET:

.
  • Набор данных отключен (Что делать, если отключается питание?)
  • Тот же объем кода все еще должен быть написан
  • Новые параметры Dataset, BindingSource и TableAdapter кажутся запутанными
  • тот же код написан программно для доступа к Базе данных, все, что изменяется, это то, как выстроена эта команда

Я ищу ответы или причины, по которым ADO.NET «лучше», чем ADO, в отношении доступа к данным, когда речь идет о приложениях Windows Forms. Что ADO.NET предоставляет, а ADO нет? Чем он лучше ADO?

NB: Я бы хотел привести примеры, не связанные с LINQ.

Ответы [ 8 ]

10 голосов
/ 21 июля 2009

С одной стороны, если он не сломался, не чините его. А с другой - VB6? В самом деле? Похоже, ADO против ADO.NET здесь маленький картофель ...

Я думаю, что проблема скорее в VB по сравнению с VB.NET, и тогда здесь вступают в игру вся кодовая база, набор навыков, другие нетехнические соображения.

6 голосов
/ 21 июля 2009

ADO - это неподдерживаемая технология на основе COM. Начиная с марта 2008 года VB 6.0 - это технология без поддержки в конце срока службы. DAO, RDO, ADO - это технологии, которые почти на десятилетие опередили их.

ADO.NET - это современный набор инструментов для доступа к данным. В частности, LINQ to SQL и Entity Framework выводят данные на новый уровень.

5 голосов
/ 21 июля 2009

Нет ничего плохого в использовании ADO в старых приложениях VB6. И если эти приложения работают правильно, нет причин менять их.

Я не думаю, что кто-то, программирующий на .Net, будет слишком искушен, чтобы попытаться использовать ADO, так как при такой попытке это выглядит как хакерская работа. Просто позволь им быть.

2 голосов
/ 21 июля 2009

Одной из самых больших проблем, которая смогла заставить людей переключаться на ADO.NET на моей повседневной работе, было то, что ADO (VB6) - это все COM, вы получаете лучшую производительность с ADO.NET.

2 голосов
/ 21 июля 2009

Простой ответ: не убеждайте их ...

Пусть они посмотрят на LINQ to SQL (или еще лучше, LINQ to Entities)

0 голосов
/ 27 августа 2009

Я предпочитаю ADO.NET сам, но просто для баланса есть одно преимущество классического ADO перед ADO.NET: это, пожалуй, более удобно.

Нашим клиентам было трудно использовать [ADO.NET] из-за обширного инициализация это требует. Даже в самые простые сценарии, пользователи Ожидается, что понять сложное взаимодействия и зависимости между несколько типов ... Обратите внимание, что многие из них проблемы были решены в .NET рамки 2.0.

Написано архитекторами .NET Framework в .NET Framework Руководства по проектированию 2-е издание, стр. 25.

0 голосов
/ 21 июля 2009

Я предполагаю, что если набор записей все еще подключен и на сервере отключено питание, пользователю сразу же будет предложено в своем приложении, прежде чем он продолжит вводить данные, которые не будут сохранены?

Как насчет сбора мусора в памяти?

В .net легче распространять обновления.

Я думаю, если у вас много кода на VB 6 для приложений winform, зачем менять? Возможно, если вы начнете новый проект с использованием VB.NET, вы сможете продемонстрировать некоторые другие преимущества, такие как включение нескольких таблиц в адаптер таблицы (не могу сказать, что я этим воспользовался).

0 голосов
/ 21 июля 2009

Я слышал слух, что среда выполнения VB6 не будет поставляться после Windows 7 ...

...