Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu kılavuz, veritabanında veri ekleme, değiştirme ve silmeye yönelik temel bir uçtan uca LINQ to SQL senaryosu sağlar. Müşteri eklemek, müşterinin adını değiştirmek ve siparişi silmek için örnek Northwind veritabanının bir kopyasını kullanacaksınız.
Uyarı
Bilgisayarınız, aşağıdaki yönergelerde bazı Visual Studio kullanıcı arabirimi öğeleri için farklı adlar veya konumlar gösterebilir. Sahip olduğunuz Visual Studio sürümü ve kullandığınız ayarlar bu öğeleri belirler. Daha fazla bilgi için bkz. IDE'yi Kişiselleştirme.
Bu kılavuz Visual C# Geliştirme Ayarları kullanılarak yazılmıştır.
Önkoşullar
Bu izlenecek yol aşağıdakileri gerektirir:
Bu izlenecek yol, dosyaları tutmak için ayrılmış bir klasör ("c:\linqtest6") kullanır. İzlenecek yol başlamadan önce bu klasörü oluşturun.
Northwind örnek veritabanı.
Geliştirme bilgisayarınızda bu veritabanı yoksa, microsoft indirme sitesinden indirebilirsiniz. Yönergeler için bkz. Örnek Veritabanlarını İndirme. Veritabanını indirdikten sonra northwnd.mdf dosyasını c:\linqtest6 klasörüne kopyalayın.
Northwind veritabanından oluşturulan bir C# kod dosyası.
Nesne İlişkisel Tasarımcısı'nı veya SQLMetal aracını kullanarak bu dosyayı oluşturabilirsiniz. Bu izlenecek yol, SQLMetal aracı aşağıdaki komut satırıyla kullanılarak yazılmıştır:
sqlmetal /code:"c:\linqtest6\northwind.cs" /language:csharp "C:\linqtest6\northwnd.mdf" /pluralize
Daha fazla bilgi için bkz. SqlMetal.exe (Kod Oluşturma Aracı).
Genel Bakış
Bu kılavuz altı ana görevden oluşur:
Visual Studio'da LINQ to SQL çözümü oluşturma.
Veritabanına kod dosyasını projeye ekleme.
Yeni bir müşteri nesnesi oluşturma.
Müşterinin iletişim adını değiştirme.
Sipariş siliniyor.
Bu değişiklikler Northwind veritabanına gönderiliyor.
LINQ to SQL Çözümü Oluşturma
Bu ilk görevde, LINQ to SQL projesi oluşturmak ve çalıştırmak için gerekli başvuruları içeren bir Visual Studio çözümü oluşturacaksınız.
LINQ to SQL çözümü oluşturmak için
Visual Studio Dosya menüsünde Yeni'nin üzerine gelin ve Proje'ye tıklayın.
Yeni Proje iletişim kutusundaki Proje türleri bölmesinde Visual C# öğesine tıklayın.
Şablonlar bölmesinde Konsol Uygulaması'na tıklayın.
Ad kutusuna LinqDataManipulationApp yazın.
Konum kutusunda proje dosyalarınızı nerede depolamak istediğinizi doğrulayın.
Tamam'a tıklayın.
LINQ Başvuruları ve Yönergeleri Ekleme
Bu kılavuzda, projenizde varsayılan olarak yüklenmemiş olabilecek derlemeler kullanılır. System.Data.Linq projenizde başvuru olarak listelenmiyorsa, aşağıdaki adımlarda açıklandığı gibi ekleyin:
System.Data.Linq eklemek için
Çözüm Gezgini'da Başvurular'a sağ tıklayın ve ardından Başvuru Ekle'ye tıklayın.
Başvuru Ekle iletişim kutusunda .NET'e tıklayın, System.Data.Linq derlemesine ve ardından Tamam'a tıklayın.
Projeye montaj eklendi.
Program.cs en üstüne aşağıdaki yönergeleri ekleyin:
using System.Data.Linq; using System.Data.Linq.Mapping;
Northwind Kod Dosyasını Projeye Ekleme
Bu adımlarda, Northwind örnek veritabanından bir kod dosyası oluşturmak için SQLMetal aracını kullandığınız varsayılır. Daha fazla bilgi için bu kılavuzun önceki bölümlerinde yer alan Önkoşullar bölümüne bakın.
Northwind kod dosyasını projeye eklemek için
Project menüsünde, Varolan Öğe Ekleöğesine tıklayın.
Varolan Öğe Ekle iletişim kutusunda c:\linqtest6\northwind.cs gidin ve Ekle'ye tıklayın.
northwind.cs dosyası projeye eklenir.
Veritabanı Bağlantısını Ayarlama
İlk olarak, veritabanı bağlantınızı test edin. Özellikle Northwnd veritabanında i karakteri olmadığını unutmayın. Sonraki adımlarda hata oluşturursanız, Northwind kısmi sınıfının nasıl yazıldığını belirlemek için northwind.cs dosyasını gözden geçirin.
Veritabanı bağlantısını ayarlamak ve test etmek için
Program sınıfındaki yöntemine
Mainaşağıdaki kodu yazın veya yapıştırın:// Use the following connection string. Northwnd db = new Northwnd(@"c:\linqtest6\northwnd.mdf"); // Keep the console window open after activity stops. Console.ReadLine();Bu noktada uygulamayı test etmek için F5 tuşuna basın.
Konsol penceresi açılır.
Konsol penceresinde Enter tuşuna basarak veya Visual Studio Hata Ayıklama menüsünde Hata Ayıklamayı Durdur'a tıklayarak uygulamayı kapatabilirsiniz.
Yeni Varlık Oluşturma
Yeni varlık oluşturmak basittir. Anahtar sözcüğünü Customer kullanarak nesneler (örneğinnew) oluşturabilirsiniz.
Bu ve aşağıdaki bölümlerde, yalnızca yerel önbellekte değişiklik yapıyorsunuz. Adım adım rehberin sonuna doğru SubmitChanges çağrılana kadar veritabanına hiçbir değişiklik gönderilmez.
Yeni bir Müşteri varlığı nesnesi eklemek için
CustomeryöntemindeConsole.ReadLine();'den önce aşağıdaki kodu ekleyerek yeni birMainoluşturun.// 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); }Çözümde hata ayıklamak için F5 tuşuna basın.
Hata ayıklamayı durdurmak ve kılavuza devam etmek için Konsol penceresinde Enter tuşuna basın.
Varlığı Güncelleştirme
Aşağıdaki adımlarda, bir Customer nesneyi alır ve özelliklerinden birini değiştirirsiniz.
Müşterinin adını değiştirmek için
Yukarıdaki
Console.ReadLine();kodu ekleyin:// 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";
Varlık Silme
Aynı müşteri nesnesini kullanarak ilk siparişi silebilirsiniz.
Aşağıdaki kod, satırlar arasındaki ilişkilerin nasıl kesilip silineceği ve veritabanından bir satırın nasıl silineceği gösterilmektedir. Nesnelerin nasıl silinebileceğini görmek için önce Console.ReadLine aşağıdaki kodu ekleyin:
Satırı silin
Aşağıdaki kodu hemen üstüne
Console.ReadLine();ekleyin:// 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);
Değişiklikleri Veritabanına Gönderme
Nesneleri oluşturmak, güncelleştirmek ve silmek için gereken son adım, değişiklikleri veritabanına göndermektir. Bu adım olmadan, değişiklikleriniz yalnızca yereldir ve sorgu sonuçlarında görünmez.
Değişiklikleri veritabanına göndermek için
Aşağıdaki kodu hemen üstüne
Console.ReadLineekleyin:db.SubmitChanges();Değişiklikleri göndermenin önce ve sonra etkilerini göstermek için aşağıdaki kodu (
SubmitChangessonra) ekleyin: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); }Çözümde hata ayıklamak için F5 tuşuna basın.
Uygulamayı kapatmak için Konsol penceresinde Enter tuşuna basın.
Uyarı
Değişiklikleri göndererek yeni müşteriyi ekledikten sonra, bu çözümü olduğu gibi yeniden yürütemezsiniz. Çözümü yeniden yürütmek için, eklenecek müşteri ve müşteri kimliğinin adını değiştirin.