Это действительно зависит от размера вашего слоя и типа продукта, который вы разрабатываете. Если он достаточно хорошо содержится, то ADO.NET, вероятно, будет идеальным. Если это слой DAL большего размера и его разработка с многоцелевым назначением баз данных, лучше всего использовать инструмент ORM. Это быстрые, эффективные и зрелые продукты, которые могут быстро включить ретаргетинг на другую базу данных, просто изменив один параметр. Написание статического ADO, это то, что переходит в наследство.
Существует несколько инструментов ORM, которые могут выполнять свою работу, все работают по-разному и зависят
на ваш бюджет, размер вашей команды и т. д. Они могут либо работать, создавая класс сопоставления, например, NHibernate, либо работать через рефлексию, т.е. разметку атрибутов.
Бесплатно, т. Е. С открытым исходным кодом, если вы любезны, NHibernate идеален. Я использую это в данный момент, чтобы построить слой DAL для продукта большой компании. Это отлично, но потребуется время, чтобы освоить. С помощью NHibernate вы определяете классы отображения, которые при выполнении генерируют модель БД для вас. Он поддерживает хранимые процедуры. Недостатком является то, что для обучения требуется некоторое время, особенно для правильного отображения сложных данных. Это отлично. У него огромный набор примеров и других проектов, которые используют его. Проверьте Koders.com.
Если у вас есть какой-то бюджет, то LLBLGen идеален. Он строго типизирован и также поддерживает хранимые процедуры.
Если у вас уже есть модель данных, то TierDeveloper идеален. Это по существу бесплатно, и работает, разрабатывая набор классов из вашей модели базы данных. Единственный недостаток - картограф для mysql - сторонний. Это продукт класса enteprise, который был сделан бесплатным для поддержки ncache, и его возможный подход.
Если вы отчаянно хотите придерживаться MS, они переходят на ORM и имеют продукт ADO.NET Entity Framework. Функционально это не так полно, как инструменты, определенные выше. Около 3 поколений отстают в зрелости. Его доступно в версии 2008 года SP1. Разъем для MySQL будет стоить.
Кроме того, вы можете использовать LINQ. Он также будет нацелен на mysql, если вам также понадобится соединитель.
В идеале, ваша лучшая ставка на ORM. Если вы не можете поддерживать открытый исходный код и иметь бюджет,
тогда получите
Надеюсь, это поможет.