Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Panduan ini menyediakan contoh penggunaan LINQ ke SQL secara end-to-end dasar untuk menambahkan, memodifikasi, dan menghapus data dalam database. Anda akan menggunakan salinan sampel database Northwind untuk menambahkan pelanggan, mengubah nama pelanggan, dan menghapus pesanan.
Nota
Komputer Anda mungkin menampilkan nama atau lokasi yang berbeda untuk beberapa elemen antarmuka pengguna Visual Studio dalam instruksi berikut. Edisi Visual Studio yang Anda miliki dan pengaturan yang Anda gunakan menentukan elemen-elemen ini. Untuk informasi lebih lanjut, lihat Mempersonalisasi IDE.
Panduan ini ditulis dengan menggunakan Pengaturan Pengembangan Visual C#.
Prasyarat
Panduan ini memerlukan hal berikut:
Panduan ini menggunakan folder khusus ("c:\linqtest6") untuk menyimpan file. Buat folder ini sebelum Anda memulai panduan.
Database contoh Northwind.
Jika Anda tidak memiliki database ini di komputer pengembangan, Anda bisa mengunduhnya dari situs unduhan Microsoft. Untuk petunjuknya, lihat Mengunduh Database Sampel. Setelah Anda mengunduh database, salin file northwnd.mdf ke folder c:\linqtest6.
File kode C# yang dihasilkan dari database Northwind.
Anda dapat membuat file ini dengan menggunakan Object Relational Designer atau alat SQLMetal. Panduan ini ditulis dengan menggunakan alat SQLMetal dengan baris perintah berikut:
sqlmetal /code:"c:\linqtest6\northwind.cs" /language:csharp "C:\linqtest6\northwnd.mdf" /pluralize
Untuk informasi selengkapnya, lihat SqlMetal.exe (Alat Pembuatan Kode).
Gambaran Umum
Panduan ini terdiri dari enam tugas utama:
Membuat solusi LINQ ke SQL di Visual Studio.
Menambahkan file kode database ke proyek.
Membuat objek pelanggan baru.
Mengubah nama kontak pelanggan.
Menghapus pesanan.
Mengirimkan perubahan ini ke database Northwind.
Membuat Solusi LINQ ke SQL
Dalam tugas pertama ini, Anda membuat solusi Visual Studio yang berisi referensi yang diperlukan untuk membangun dan menjalankan LINQ ke proyek SQL.
Untuk membuat solusi LINQ ke SQL
Pada menu File Visual Studio, arahkan ke Baru, lalu klik Proyek.
Di panel Jenis proyek dalam kotak dialog Proyek Baru , klik Visual C#.
Di panel Templat, klik Aplikasi Konsol.
Dalam kotak Nama , ketik LinqDataManipulationApp.
Dalam kotak Lokasi , verifikasi di mana Anda ingin menyimpan file proyek Anda.
Klik OK.
Menambahkan Referensi dan Arahan LINQ
Panduan ini menggunakan komponen perangkat lunak yang mungkin tidak terinstal secara default di proyek Anda. Jika System.Data.Linq tidak terdaftar sebagai referensi dalam proyek Anda, tambahkan, seperti yang dijelaskan dalam langkah-langkah berikut:
Untuk menambahkan System.Data.Linq
Di Penjelajah Solusi, klik kanan Referensi, lalu klik Tambahkan Referensi.
Dalam kotak dialog Tambahkan Referensi , klik .NET, klik rakitan System.Data.Linq, lalu klik OK.
Rakitan tersebut ditambahkan ke proyek.
Tambahkan arahan berikut di bagian atas Program.cs:
using System.Data.Linq; using System.Data.Linq.Mapping;
Menambahkan File Kode Northwind ke Proyek
Langkah-langkah ini mengasumsikan bahwa Anda telah menggunakan alat SQLMetal untuk menghasilkan file kode dari database sampel Northwind. Untuk informasi selengkapnya, lihat bagian Prasyarat sebelumnya di panduan ini.
Untuk menambahkan file kode northwind ke proyek
Pada menu Proyek , klik Tambahkan Item yang Sudah Ada.
Dalam kotak dialog Tambahkan Item yang Ada , navigasikan ke c:\linqtest6\northwind.cs, lalu klik Tambahkan.
File northwind.cs ditambahkan ke proyek.
Menyiapkan Koneksi Database
Pertama, uji koneksi Anda ke database. Perhatikan terutama bahwa database, Northwnd, tidak memiliki karakter i. Jika Anda menghasilkan kesalahan pada langkah-langkah berikutnya, tinjau file northwind.cs untuk menentukan cara penulisan kelas parsial Northwind.
Untuk menyiapkan dan menguji koneksi database
Ketik atau tempel kode berikut ke
Maindalam metode di kelas Program:// Use the following connection string. Northwnd db = new Northwnd(@"c:\linqtest6\northwnd.mdf"); // Keep the console window open after activity stops. Console.ReadLine();Tekan F5 untuk menguji aplikasi pada saat ini.
Jendela Konsol terbuka.
Anda dapat menutup aplikasi dengan menekan Enter di jendela Konsol , atau dengan mengklik Hentikan Debugging pada menu Visual Studio Debug .
Membuat Entitas Baru
Membuat entitas baru sangat mudah. Anda dapat membuat objek (seperti Customer) dengan menggunakan new kata kunci.
Di bagian ini dan berikut, Anda hanya membuat perubahan pada cache lokal. Tidak ada perubahan yang dikirim ke database sampai Anda memanggil SubmitChanges di akhir panduan ini.
Untuk menambahkan objek entitas Pelanggan baru
Buat
Customerbaru dengan menambahkan kode berikut sebelumConsole.ReadLine();dalam metodeMain:// Create the new Customer object. Customer newCust = new Customer(); newCust.CompanyName = "AdventureWorks Cafe"; newCust.CustomerID = "ADVCA"; // Add the customer to the Customers table. db.Customers.InsertOnSubmit(newCust); Console.WriteLine("\nCustomers matching CA before insert"); foreach (var c in db.Customers.Where(cust => cust.CustomerID.Contains("CA"))) { Console.WriteLine("{0}, {1}, {2}", c.CustomerID, c.CompanyName, c.Orders.Count); }Tekan F5 untuk men-debug solusi.
Tekan tombol Enter pada jendela Konsol untuk menghentikan penelusuran kesalahan dan melanjutkan panduan.
Memperbarui Entitas
Dalam langkah-langkah berikut, Anda akan mengambil Customer objek dan mengubah salah satu propertinya.
Untuk mengubah nama Pelanggan
Tambahkan kode berikut di atas
Console.ReadLine();:// Query for specific customer. // First() returns one object rather than a collection. var existingCust = (from c in db.Customers where c.CustomerID == "ALFKI" select c) .First(); // Change the contact name of the customer. existingCust.ContactName = "New Contact";
Menghapus Entitas
Dengan menggunakan objek pelanggan yang sama, Anda dapat menghapus pesanan pertama.
Kode berikut menunjukkan cara memisahkan hubungan antar baris, dan cara menghapus baris dari database. Tambahkan kode berikut sebelum Console.ReadLine melihat bagaimana objek dapat dihapus:
Untuk menghapus baris
Tambahkan kode berikut tepat di atas
Console.ReadLine();:// Access the first element in the Orders collection. Order ord0 = existingCust.Orders[0]; // Access the first element in the OrderDetails collection. OrderDetail detail0 = ord0.OrderDetails[0]; // Display the order to be deleted. Console.WriteLine ("The Order Detail to be deleted is: OrderID = {0}, ProductID = {1}", detail0.OrderID, detail0.ProductID); // Mark the Order Detail row for deletion from the database. db.OrderDetails.DeleteOnSubmit(detail0);
Mengirimkan Perubahan ke Database
Langkah terakhir yang diperlukan untuk membuat, memperbarui, dan menghapus objek, adalah benar-benar mengirimkan perubahan ke database. Tanpa langkah ini, perubahan Anda hanya lokal dan tidak akan muncul di hasil kueri.
Untuk mengirimkan perubahan ke database
Sisipkan kode berikut tepat di atas
Console.ReadLine:db.SubmitChanges();Sisipkan kode berikut (setelah
SubmitChanges) untuk memperlihatkan efek sebelum dan sesudah mengirimkan perubahan:Console.WriteLine("\nCustomers matching CA after update"); foreach (var c in db.Customers.Where(cust => cust.CustomerID.Contains("CA"))) { Console.WriteLine("{0}, {1}, {2}", c.CustomerID, c.CompanyName, c.Orders.Count); }Tekan F5 untuk men-debug solusi.
Tekan Enter di jendela Konsol untuk menutup aplikasi.
Nota
Setelah Anda menambahkan pelanggan baru dengan mengirimkan perubahan, Anda tidak dapat menjalankan solusi ini lagi apa adanya. Untuk menjalankan solusi lagi, ubah nama pelanggan dan ID pelanggan untuk ditambahkan.