developpement:dotnet:mono:mysql
Table des matières
MySQL avec Mono
Linq-to-SQL
Plusieurs étapes sont nécessaires pour utiliser LINQ-to-SQL avec MySQL :
- Modifier le fichier
sqlmetal.exe.config
pour remplacer la ligne duprovider name=MySQL
avec cette ligne :<provider name="MySQL" dbLinqSchemaLoader="DbLinq.MySql.MySqlSchemaLoader, System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" databaseConnection="MySql.Data.MySqlClient.MySqlConnection, MySql.Data, Version=6.3.7.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
- Ensuite, il faut installer dans le GAC le DLL de MySQL Connector/NET avec la même version que spécifié dans le fichier
sqlmetal.exe.config
, dans ce cas-ci c'est 6.3.7.0. Il faut utiliser la commande$ sudo gacutil -i mysql.data.dll
- Avec
sqlmtal.exe
on peut générer le code pour les entités :$ sqlmetal --provider=MySQL --server=localhost:8889 --user=[user] --password=[password] --database=[dbname] --namespace=[namespace] --code=file.cs
Le fichier sqlmetal.exe.config
se trouve dans un répertoire ressemblant à
/Library/Frameworks/Mono.framework/Versions/2.10.8/lib/mono/4.0
Le GAC se trouve dans un répertoire ressemblant à
/Library/Frameworks/Mono.framework/Versions/2.10.8/lib/mono/gac
Une chaine de connexion pour MySQL ressemble à ceci :
Server=myServerAddress;Port=1234;Database=myDataBase;Uid=myUsername;Pwd=myPassword;
Problèmes
Could not load type SecurityRulesAttribute
System.TypeLoadException: Could not load type 'System.Security.SecurityRulesAttribute' from assembly 'MySql.Data'
Il faut que le projet soit en .NET 4.01).
developpement/dotnet/mono/mysql.txt · Dernière modification : 2022/02/02 00:42 de 127.0.0.1