1. Vorbereitungsarbeiten, wir müssen einige Dinge installieren und einige Dinge kopieren.
0. Öffnen Sie VS2008 oder VS2010, erstellen Sie ein neues Engineering-Konsolenprojekt LinqMySQL und die Zielassembly ist .NET 3.5
1. Laden Sie MySQL herunter und installieren Sie es bis NEXT
2. Laden Sie MySQLWorkBench herunter und installieren Sie es bis zum nächsten Schritt, öffnen Sie es und erstellen Sie die Testdatenbank sowie die Tabellen „Kunden“ und „Bestellungen“.
-------------------------------------------------- ---
Tabelle Kunden erstellen
(
CustomerID varchar(50) nicht null Primärschlüssel,
ContractName varchar(50) nicht null,
Phone varchar(50) nicht null,
Stadt varchar(50) nicht null,
Land varchar(50) nicht null
)
Tischbestellungen erstellen
(
OrderID int nicht null Primärschlüssel,
Bestelldatum DatumUhrzeit,
CustomerId varchar(50) nicht null,
Fremdschlüssel (CustomerID) verweist auf Kunden (CustomerID)
)
-------------------------------------------------- ---
3. Laden Sie MySQL .NET Connector 6.3.2 herunter und installieren Sie es als nächstes
4. Laden Sie DbLinq herunter, entpacken Sie es und legen Sie den Pfad zur Systemumgebungsvariablen fest
5. Erstellen Sie einen neuen LinqDlls-Ordner im LinqMySql-Verzeichnis
Öffnen Sie den Ordner C:ProgrammeReference AssembliesMicrosoftFrameworkv3.5
Kopieren Sie die folgenden DLLs in den LinqDlls-Ordner
-------------------------------------------------- ---
System.Core.dll
System.Data.DataSetExtensions.dll
System.Data.Linq.dll
System.Runtime.Serialization.dll
System.xml.Linq.dll
-------------------------------------------------- ---
6. Gehen Sie in das Verzeichnis MySQLMySQL Connector Net 6.3.2Assembliesv2.0 und kopieren Sie es
-------------------------------------------------- ---
MySql.Data.dll
-------------------------------------------------- ---
Gehen Sie zum DbLinq-Installationsverzeichnis
2. Beginnen wir mit der Arbeit, gehen wir Schritt für Schritt vor.
1. Öffnen Sie CMD, CD im DbLinq-Verzeichnis und verwenden Sie DbMetal.exe, um den MySQL DataContext zu erstellen. Der Befehl lautet wie folgt:
-------------------------------------------------- ---
DbMetal.exe
-provider=MySql
-database:MyDatebase
-server:localhost
-user:mysqluser
-passWord: Ihr Passwort
-namespace:LinqMySql
-code:TestDataContext.cs
-sprocs
-------------------------------------------------- ---
Schneiden Sie die generierte TestDataContext.cs in das Stammverzeichnis des LinqMySql-Projekts und fügen Sie sie dem LinqMySql-Projekt hinzu
2. Fügen Sie den folgenden Code in die Main-Funktion ein
-------------------------------------------------- ---
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 (var d in data) { Console.WriteLine(d); }}------------------------------------------------ -----3. Kompilieren und ausführen, erfolgreich.
4. Als nächstes müssen wir .NET 3.5 auf .NET2.0 herabstufen. Zuerst müssen wir die Zielassembly des Projekts auf .NET2.0 ändern.
Dann werden Sie feststellen, dass mehrere DLLs in der Referenz zu Ausrufezeichen werden. Löschen Sie sie alle und ändern Sie dann die DLLs im LinqDlls-Ordner
Fügen Sie mehrere DLLs zu Referece hinzu und setzen Sie dann in den Eigenschaften dieser DLLs „copy local“ auf „True“ und „Specify Version“ auf „False“.
5. Kompilieren Sie erneut und es wird erfolgreich sein!
3. Was ist mit anderen Geschichten? Ich versuche, LinqDataSet unter .NET2.0 zu verwenden und die Datenbank verwendet MySQL
1. Starten Sie VS neu, damit der gerade hinzugefügte MySQL-Connector von VS geladen wird.
2. Öffnen Sie den Server-Explorer, klicken Sie mit der rechten Maustaste auf „Datenverbindung“, fügen Sie einen neuen Link hinzu und ändern Sie den Datenconnector
Wählen Sie „MySql Connector“, geben Sie die erforderliche Serveradresse, den Benutzernamen und das Kennwort ein und gehen Sie zu „WEITER“ und testen Sie, ob die Verbindung erfolgreich ist.
3. Ändern Sie die LinqMySql-Zielassembly in .NET3.5, klicken Sie mit der rechten Maustaste auf das Projekt und fügen Sie ein stark typisiertes DataSet hinzu.
Fügen Sie die Tabellen „Kunden“ und „Bestellungen“ unter der MySQL-Testdatenbank im Server-Explorer zum DataSet hinzu.
4. Schreiben Sie Testcode in die Main-Funktion
-------------------------------------------------- ---
using (var dataSet = new DataSet1()){ var customerAdapter = new DataSet1TableAdapters.CustomersTableAdapter(); var orderAdapter = new DataSet1TableAdapters.OrdersTableAdapter(); orderAdapter.Fill(dataSet.Orders); query = from order in dataSet.Orders where order.OrderDate.Date > new DateTime(2010, 8, 1) select new { order.OrderID, order.CustomerID }; foreach (var order in query) { Console.WriteLine(order. Kunden-ID); }}---------------------------- --- --------5. Kompilieren und ausführen, Erfolg!
6. Moment, es ist jetzt nur noch .NET3.5, wie wechselt man zu .NET2.0?
Versuchen Sie, die Zielassembly direkt in .NET2.0 zu ändern, zu kompilieren und scheitern!
7.TMD hat DataSet1.designer.cs überprüft und den folgenden Code unter .NET3.5 gefunden
-------------------------------------------------- ---öffentliche Teilklasse customerDataTable : global::System.Data.TypedTableBase<customersRow>------------------------------ --- ------------------------- Jetzt ist es geworden
-------------------------------------------------- ---
öffentliche Teilklasse customerDataTable : global::System.Data.DataTable, global::System.Collections.IEnumerable------------------------------------------ ------------8.Also? was zu tun? Setzen Sie die Zielassembly auf .NET3.5 zurück und wechseln Sie dann in das LinqMySql-Verzeichnis
-------------------------------------------------- ---
DataSet1.Designer.cs
DataSet1.xsc
DataSet1.xsd
DataSet1.xss
-------------------------------------------------- ----
Kopieren Sie einige Dateien, um eine Sicherungskopie zu erstellen, und stellen Sie dann die Zielassembly erneut auf .NET2.0 ein. .
Kopieren Sie dann die oben genannten Dateien, die Sie gerade gesichert haben, zurück in das Projektverzeichnis, kompilieren Sie sie und führen Sie sie erneut aus. Erfolg!
9. Zu diesem Zeitpunkt haben wir LinqSQL und LinqDataSet erfolgreich verwendet, um MySql unter .NET2.0 zu verwenden, aber
Ich habe LinqEntity nicht erfolgreich verwendet, um MySql unter .NET2.0 zu verwenden. Lass uns später darüber reden.