1. Pekerjaan persiapan, kita perlu menginstal beberapa hal dan menyalin beberapa hal.
0. Buka VS2008 atau VS2010, buat proyek konsol teknik baru LinqMySQL, dan target perakitannya adalah .NET 3.5
1. Unduh dan instal MySQL hingga NEXT
2. Unduh dan instal MySQLWorkBench hingga NEXT, buka, dan buat database pengujian, tabel Pelanggan dan Pesanan.
--------------------------------------------------- ---
membuat tabel Pelanggan
(
CustomerID varchar(50) bukan kunci utama null,
Nama Kontrak varchar(50) bukan nol,
Telepon varchar(50) bukan nol,
Kota varchar(50) bukan nol,
Negara varchar(50) bukan nol
)
membuat tabel Pesanan
(
OrderID int bukan kunci utama nol,
Tanggal Pemesanan TanggalWaktu,
CustomerId varchar(50) bukan nol,
kunci asing (CustomerID) referensi Pelanggan (CustomerID)
)
--------------------------------------------------- ---
3. Unduh dan BERIKUTNYA instal MySQL .NET Connector 6.3.2
4. Unduh dan unzip DbLinq, dan atur jalur ke variabel lingkungan sistem
5. Buat folder LinqDlls baru di direktori LinqMySql
Buka foldernya C:Program FilesReference AssembliesMicrosoftFrameworkv3.5
Salin Dll berikut ke folder LinqDlls
--------------------------------------------------- ---
System.Core.dll
System.Data.DataSetExtensions.dll
System.Data.Linq.dll
System.Runtime.Serialization.dll
System.xml.Linq.dll
--------------------------------------------------- ---
6. Masuk ke direktori MySQLMySQL Connector Net 6.3.2Assembliesv2.0 dan salin
--------------------------------------------------- ---
MySql.Data.dll
--------------------------------------------------- ---
Buka direktori instalasi DbLinq
2. Mari kita mulai bekerja, lakukan langkah demi langkah.
1. Buka CMD, CD ke direktori DbLinq dan gunakan DbMetal.exe untuk membuat MySQL DataContext.
--------------------------------------------------- ---
DbMetal.exe
-penyedia=MySql
-database:Datebase Saya
-server:host lokal
-pengguna:pengguna mysql
-passWord: kata sandi Anda
-ruang nama:LinqMySql
-kode:TestDataContext.cs
-sprocs
--------------------------------------------------- ---
Potong TestDataContext.cs yang dihasilkan ke direktori akar proyek LinqMySql dan tambahkan ke proyek LinqMySql
2. Tambahkan kode berikut pada fungsi Utama
--------------------------------------------------- ---
string connStr = @"server=localhost;database=test;pengguna=mysqluser;pwd=kata sandi Anda;";
menggunakan (var conn = new MySqlConnection(connStr)){ var t = new Test(conn); var data = dari pelanggan di t.Pelanggan pilih customer.ContractName (var d dalam data) { Console.WriteLine(d); }}------------------------------------------------ -----3. Kompilasi dan jalankan, berhasil.
4. Selanjutnya kita perlu mendegradasi .NET 3.5 menjadi .NET2.0. Pertama, ubah target perakitan proyek menjadi .NET2.0.
Kemudian Anda akan menemukan beberapa dll di Referensi menjadi tanda seru, hapus semuanya, lalu ubah dll di folder LinqDlls
Tambahkan beberapa Dll ke Referensi, lalu atur salinan lokal ke True dan Tentukan Versi ke False di properti Dll ini.
5. Kompilasi lagi dan berhasil!
3. Bagaimana dengan cerita lainnya? Mencoba menggunakan LinqDataSet di bawah .NET2.0 dan database menggunakan MySQL
1. Restart VS agar konektor MySQL yang baru saja ditambahkan dimuat oleh VS.
2. Buka Server Explorer, klik kanan Koneksi Data, tambahkan tautan baru, dan ubah konektor data
Pilih Konektor MySql, masukkan alamat server, nama pengguna, dan kata sandi yang diperlukan hingga BERIKUTNYA, dan uji apakah koneksi berhasil.
3. Ubah rakitan target LinqMySql menjadi .NET3.5, klik kanan proyek dan tambahkan DataSet yang diketik dengan kuat.
Tambahkan tabel Pelanggan dan Pesanan di bawah database pengujian Mysql di Server Explorer ke DataSet.
4. Tulis kode pengujian di fungsi Utama
--------------------------------------------------- ---
menggunakan (var dataSet = new DataSet1()){ var customerAdapter = new DataSet1TableAdapters.CustomersTableAdapter(); var orderAdapter = new DataSet1TableAdapters.OrdersTableAdapter(); query = dari pesanan di dataSet.Orders di mana order.OrderDate.Date > new DateTime(2010, 8, 1) pilih new { order.OrderID, order.CustomerID }; ID Pelanggan); }}--------------------------------------------- --- --------5.
6. Tunggu, sekarang hanya .NET3.5, bagaimana cara mengubahnya ke .NET2.0?
Coba langsung ubah rakitan target ke .NET2.0, kompilasi, dan gagal!
7.TMD memeriksa DataSet1.designer.cs dan menemukan kode berikut di bawah .NET3.5
--------------------------------------------------- --- pelanggan kelas parsial publikDataTable : global::System.Data.TypedTableBase<customersRow>------------------------------- --- ----------- Sekarang sudah jadi
--------------------------------------------------- ---
pelanggan kelas parsial publikDataTable : global::System.Data.DataTable, global::System.Collections.IEnumerable---------------------------- -- -----------8.Jadi? apa yang harus dilakukan? Setel ulang rakitan target ke .NET3.5, lalu masuk ke direktori LinqMySql ke
--------------------------------------------------- ---
DataSet1.Designer.cs
Kumpulan Data1.xsc
Kumpulan Data1.xsd
Kumpulan Data1.xss
--------------------------------------------------- ----
Salin beberapa file untuk membuat cadangan, lalu atur lagi rakitan target ke .NET2.0, lalu. .
Kemudian copy file di atas yang baru saja Anda backup kembali ke direktori proyek, kompilasi dan jalankan kembali, sukses!
9. Pada titik ini, kami telah berhasil menggunakan LinqSQL dan LinqDataSet untuk menggunakan MySql di bawah .NET2.0, tetapi
Saya belum berhasil menggunakan LinqEntity untuk menggunakan MySql di bawah .NET2.0. Mari kita bicarakan nanti.