Мне нужно получить доступ к базе данных mysql из кода C#, но я бы предпочел не использовать ODBC по причинам, указанным ниже.
Мне нужно создать демонстрацию, и я использую xampp на USB-накопителе. Мой код (код чтения / записи базы данных) написан на C#. Поэтому, чтобы USB-накопитель был изолирован от компьютера, на котором работает демонстрация, я ухожу от ODBC по причинам установки.





http://dev.mysql.com/downloads/connector/net/5.2.html
В прошлый раз, когда я попробовал, он работал нормально, но если вам нужно подключиться, например, к MySQL и SQL Server, вам нужно будет продублировать код один раз, используя SqlConnection, а другой - MysqlConnection.
Вы, вероятно, захотите использовать Коннектор MySQL .Net
В зависимости от ваших потребностей вы также можете посмотреть ORM, например SubSonic. Он работает с MySQL и даст вам независимость от базы данных и простоту разработки.
В духе Объектно-реляционные преобразователи вы можете использовать NHibernate с Генератор кода MyGeneration для создания как сопоставлений, так и классов, которые вам понадобятся для уровня доступа к данным. Есть мириады примеров доступный.
FWIW, Если у вас нет определенных частей, где скорость абсолютно критична, ORM, такой как NHibernate, позаботится о материалах CRUD за вас, и все, о чем вам нужно беспокоиться, это оптимизировать те части, где вам действительно нужна скорость.
Это помогает решить вашу проблему, потому что у вас есть легкость создания DAL (MyGeneration может просматривать вашу базу данных и генерировать все, что вам нужно), и вы можете беспокоиться о бизнес-логике вашего приложения. Это решает вашу проблему и избавляет вас от необходимости даже беспокоиться о том, используется ли ODBC.