2016-05-27 1 views
-1

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

Я работаю в VBA и VB.NET и в настоящее время использую ADO для записей INSERT, UPDATE и SELECT в базе данных PostgreSQL, используя Excel в качестве пользовательского интерфейса. ADO отлично работает, но похоже, что MS подталкивает ADO.NET как лучший инструмент, но моя проблема заключается в том, что мне нужно будет создать почти всю базу данных PostgreSQL в виде набора данных в памяти, который, как мне кажется, не нужен, m просто копирует полностью то, что уже есть на сервере, и его много в памяти.

Это говорит о том, что думает каждый о ADO и ADO.NET, учитывая ситуацию с воссозданием почти всей базы данных в памяти для ADO.NET для выполнения того, что делает ADO в настоящее время? Является ли ADO по-прежнему актуальным решением в некоторых случаях в настоящее время? Есть ли другая альтернативная технология, которую кто-то порекомендовал бы?

+1

Отключить тему для SO действительно, но в ADO.NET нет требования «воссоздать почти всю базу данных в памяти». Почему вы так думаете? –

+0

@TimWilliams Правильно, я понимаю, что, но в моем конкретном случае существует очень большое количество таблиц и представлений, которые пользователи должны иметь возможность читать/писать, и все они должны присутствовать в наборе данных, если я использую ADO .NET, я верю. У меня определенно меньше опыта с ADO.NET, поэтому я мог что-то пропустить, но мне кажется, что все, что разработчик хочет, чтобы пользователи могли читать/писать, должно присутствовать в наборе данных. Имеет ли это смысл? – christopheralan88

+0

@TimWilliams Извините за немой вопрос, Тим. После игры с ADO.NET больше я вижу, что я неправильно понял ... много ... о том, как это работает. Сожалею! – christopheralan88

ответ

1

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

Библиотека ADODB очень хорошо работает с и , поэтому используйте ее, когда вы пишете код в VBA, который предшествует .NET на протяжении многих лет.

ADO.NET - эквивалент ; используйте его, когда вы пишете в или , просто как это.

ADO имеет значение только для VBA для вашей ситуации, а использование ADO.NET в VBA звучит как довольно много бесполезной гимнастики.

«Воспроизведение всей базы данных в памяти» звучит очень похоже на проблему XY, я очень сомневаюсь, что это действительно то, чего вы хотите достичь - возможно, вы хотели ссылаться на Object/Relational Mappers (ORM), например , или еще более датированный tech (хотя все еще пост -ADO.NET), например ? В любом случае ORM делает абстракцию над технологией доступа к данным, которую она использует, поэтому, если вы хотите реализовать ее в VBA по ADODB, пойдите для нее! И если вы хотите изобретать колесо и внедрять его в VB.NET через ADO.NET, ... это может быть интересно. Но я сомневаюсь, что это то, что вы хотите сделать.

Microsoft «толкает» ADO.NET как «лучший инструмент», потому что .NET является действующим, и он активно поддерживается и постоянно развивается, а не VBA - по крайней мере, насколько я знаю. Теперь просмотрите даты того, что вы читаете в Интернете, потому что Microsoft «подталкивала» Linq-to-SQL как «лучший инструмент», чем ADO.NET, а затем позже начала «подталкивать» Entity Framework как «лучший инструмент», чем Linq- к SQL.

+0

Спасибо за информацию. Я понял после игры с ADO.NET больше, что я определенно не понял это правильно, когда сказал, что мне придется воссоздать всю базу данных в памяти. Извините за немой вопрос, но я ценю вашего пациента и информативный ответ. – christopheralan88

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