2008-12-02 6 views
1

J'ai besoin d'accéder à une base de données mysql à partir du code C# mais je préférerais ne pas utiliser ODBC pour les raisons ci-dessous.Quelle est la meilleure façon d'utiliser C# avec mysql sans utiliser odbc

Je dois créer une démo et j'utilise xampp sur une clé USB. Mon code (code de lecture/écriture de la base de données) est écrit en C#. Donc, pour garder le lecteur USB isolé de l'ordinateur sur lequel la démo fonctionne, je m'éloigne d'ODBC pour des raisons de configuration.

Répondre

6

http://dev.mysql.com/downloads/connector/net/5.2.html

dernière fois que je l'ai essayé tout fonctionnait bien, mais si vous avez besoin de se connecter à, par exemple, MySQL et SQL Server, vous devrez dupliquer le code une fois en utilisant SqlConnection et l'autre en utilisant MySQLConnection.

1

En fonction de vos besoins, vous pouvez aussi regarder un ORM comme SubSonic. Il fonctionne avec MySQL et vous donnera à la fois une indépendance de base de données et une facilité de développement.

2

Dans la veine de Object Relational Mappers, vous pouvez utiliser NHibernate avec MyGeneration Code Generator pour générer à la fois les applications et les classes que vous aurez besoin d'avoir une couche d'accès aux données. Il y a un myriad des exemples available. FWIW, À moins que vous ayez des pièces spécifiques où la vitesse est absolument critique, un ORM comme NHibernate s'occupe du CRUD pour vous, et tout ce que vous avez à faire est d'optimiser les pièces où vous avez réellement besoin de vitesse. Ceci aide votre problème parce que vous avez la facilité de création DAL (MyGeneration peut regarder votre base de données et générer tout ce dont vous avez besoin), et vous pouvez vous inquiéter de la logique métier de votre application. Il prend votre problème et supprime le besoin de vous inquiéter même si ODBC est utilisé.

Questions connexes