1. Travail de préparation, nous devons installer certaines choses et copier certaines choses.
0. Ouvrez VS2008 ou VS2010, créez un nouveau projet de console d'ingénierie LinqMySQL et l'assembly cible est .NET 3.5
1. Téléchargez et installez MySQL jusqu'à NEXT
2. Téléchargez et installez MySQLWorkBench jusqu'à NEXT, ouvrez-le et créez la base de données de test, les tables Clients et Commandes.
-------------------------------------------------- ---
créer une table Clients
(
CustomerID varchar(50) non null Clé primaire,
ContractName varchar(50) non nul,
Téléphone varchar(50) non nul,
Ville varchar(50) non nulle,
Pays varchar (50) non nul
)
créer une table Commandes
(
OrderID int clé primaire non nulle,
Date de commande DateHeure,
CustomerId varchar(50) non nul,
références de clé étrangère (CustomerID) Clients (CustomerID)
)
-------------------------------------------------- ---
3. Téléchargez et installez ensuite MySQL .NET Connector 6.3.2
4. Téléchargez et décompressez DbLinq, et définissez le chemin d'accès à la variable d'environnement système
5. Créez un nouveau dossier LinqDlls dans le répertoire LinqMySql
Ouvrez le dossier C:Program FilesReference AssembliesMicrosoftFrameworkv3.5
Copiez les DLL suivantes dans le dossier LinqDlls
-------------------------------------------------- ---
System.Core.dll
System.Data.DataSetExtensions.dll
System.Data.Linq.dll
System.Runtime.Serialization.dll
System.xml.Linq.dll
-------------------------------------------------- ---
6. Accédez au répertoire MySQLMySQL Connector Net 6.3.2Assembliesv2.0 et copiez
-------------------------------------------------- ---
MySql.Data.dll
-------------------------------------------------- ---
Accédez au répertoire d'installation de DbLinq
2. Commençons à travailler, procédons étape par étape.
1. Ouvrez CMD, CD dans le répertoire DbLinq et utilisez DbMetal.exe pour créer le MySQL DataContext. La commande est la suivante :
-------------------------------------------------- ---
DbMetal.exe
-provider=MySql
-base de données : Ma base de données
-serveur :hôte local
-utilisateur :utilisateurmysql
-passWord : votre mot de passe
-espace de noms : LinqMySql
-code:TestDataContext.cs
-sprocs
-------------------------------------------------- ---
Coupez le TestDataContext.cs généré dans le répertoire racine du projet LinqMySql et ajoutez-le au projet LinqMySql
2. Ajoutez le code suivant dans la fonction principale
-------------------------------------------------- ---
string connStr = @"server=localhost;database=test;user=mysqluser;pwd=yourpassword;";
using (var conn = new MySqlConnection(connStr)){ var t = new Test(conn); var data = from customer in t.Customers select customer.ContractName foreach (var d in data) { Console.WriteLine(d); }}------------------------------------------------ -----3. Compilez et exécutez, avec succès.
4. Ensuite, nous devons dégrader .NET 3.5 vers .NET2.0. Tout d'abord, modifiez l'assembly cible du projet en .NET2.0.
Ensuite, vous constaterez que plusieurs DLL de la référence deviennent des points d'exclamation, supprimez-les toutes, puis modifiez les DLL dans le dossier LinqDlls.
Ajoutez plusieurs DLL à Referece, puis définissez la copie locale sur True et Spécifiez la version sur False dans les propriétés de ces DLL.
5. Compilez à nouveau et ce sera réussi !
3. Qu’en est-il des autres histoires ? Essayer d'utiliser LinqDataSet sous .NET2.0 et la base de données utilise MySQL
1. Redémarrez VS pour que le connecteur MySQL qui vient d'être ajouté soit chargé par VS.
2. Ouvrez l'Explorateur de serveur, cliquez avec le bouton droit sur Connexion de données, ajoutez un nouveau lien et modifiez le connecteur de données.
Sélectionnez Connecteur MySql, entrez l'adresse du serveur, le nom d'utilisateur et le mot de passe nécessaires jusqu'à SUIVANT et testez si la connexion réussit.
3. Modifiez l'assembly cible LinqMySql en .NET3.5, cliquez avec le bouton droit sur le projet et ajoutez un DataSet fortement typé.
Ajoutez les tables Clients et Commandes sous la base de données de test Mysql dans l'Explorateur de serveurs au DataSet.
4. Écrivez le code de test dans la fonction principale
-------------------------------------------------- ---
using (var dataSet = new DataSet1()){ var customerAdapter = new DataSet1TableAdapters.CustomersTableAdapter(); var orderAdapter = new DataSet1TableAdapters.OrdersTableAdapter(); customerAdapter.Fill(dataSet.Customers); query = from order in dataSet.Orders which order.OrderDate.Date > new DateTime(2010, 8, 1) select new { order.OrderID, order.CustomerID } foreach (var order in query) { Console.WriteLine(order. ID client); }}-------------------------------------------------------- --- ---------5. Compilez et exécutez, succès !
6. Attendez, ce n'est que .NET3.5 maintenant, comment passer à .NET2.0 ?
Essayez de changer directement l'assembly cible en .NET2.0, compilez et échouez !
7.TMD a vérifié DataSet1.designer.cs et a trouvé le code suivant sous .NET3.5
-------------------------------------------------- ---classe partielle publique customerDataTable : global::System.Data.TypedTableBase<customersRow>--------------------------------------------- --- -------------------------- Maintenant c'est devenu
-------------------------------------------------- ---
classe partielle publique customerDataTable : global::System.Data.DataTable, global::System.Collections.IEnumerable---------------------------- -- --------------------------8.Et alors ? ce qu'il faut faire? Réinitialisez l'assembly cible sur .NET3.5, puis accédez au répertoire LinqMySql pour
-------------------------------------------------- ---
DataSet1.Designer.cs
DataSet1.xsc
DataSet1.xsd
DataSet1.xss
-------------------------------------------------- ----
Copiez quelques fichiers pour effectuer une sauvegarde, puis définissez à nouveau l'assembly cible sur .NET2.0, puis. .
Copiez ensuite les fichiers ci-dessus que vous venez de sauvegarder dans le répertoire du projet, compilez et exécutez à nouveau, succès !
9. À ce stade, nous avons utilisé avec succès LinqSQL et LinqDataSet pour utiliser MySql sous .NET2.0, mais
Je n'ai pas utilisé avec succès LinqEntity pour utiliser MySql sous .NET2.0. Parlons-en plus tard.