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, yalnızca saklı yordamları kullanarak verilere erişmek için temel bir uçtan uca LINQ to SQL senaryosu sağlar. Bu yaklaşım genellikle veritabanı yöneticileri tarafından veri deposuna erişim biçimini sınırlamak için kullanılır.
Uyarı
LinQ to SQL uygulamalarında varsayılan davranışı geçersiz kılmak için, özellikle Create, Update ve Delete işlemleri için saklı yordamları da kullanabilirsiniz. Daha fazla bilgi için bkz. Ekleme, Güncelleştirme ve Silme İşlemlerini Özelleştirme.
Bu kılavuzda, Northwind örnek veritabanındaki saklı yordamlara eşlenmiş iki yöntem kullanacaksınız: CustOrdersDetail ve CustOrderHist. Eşleme, Visual Basic dosyası oluşturmak için SqlMetal komut satırı aracını çalıştırdığınızda gerçekleşir. Daha fazla bilgi için bu kılavuzun devamında yer alan Önkoşullar bölümüne bakın.
Bu izlenecek yol Nesne İlişkisel Tasarımcısı'nı kullanmaz. Visual Studio kullanan geliştiriciler, saklı yordam işlevselliğini uygulamak için O/R Tasarımcısı'nı da kullanabilir. Bkz. Visual Studio'da LINQ to SQL Araçları.
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 Basic Geliştirme Ayarları kullanılarak yazılmıştır.
Önkoşullar
Bu izlenecek yol aşağıdakileri gerektirir:
Bu kılavuzda, dosyaları tutmak için ayrılmış bir klasör ("c:\linqtest3") kullanılı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:\linqtest3 klasörüne kopyalayın.
Northwind veritabanından oluşturulan bir Visual Basic kod dosyası.
Bu kılavuz aşağıdaki komut satırıyla SqlMetal aracı kullanılarak yazılmıştır:
sqlmetal /code:"c:\linqtest3\northwind.vb" /language:vb "c:\linqtest3\northwnd.mdf" /sprocs /functions /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ünü ayarlama.
System.Data.Linq derlemesini projeye ekleme.
Veritabanına kod dosyasını projeye ekleme.
Veritabanına bağlantı oluşturma.
Kullanıcı arabirimini ayarlama.
Uygulamayı çalıştırma ve test etme.
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 Proje'ye tıklayın.
Yeni Proje iletişim kutusundaki Proje türleri bölmesinde Visual Basic'i genişletin ve Windows'a tıklayın.
Şablonlar bölmesinde Windows Forms Uygulaması'na tıklayın.
Ad kutusuna SprocOnlyApp yazın.
Tamam'a tıklayın.
Windows Forms Tasarımcısı açılır.
LINQ'i SQL Derleme Başvurusuna Ekleme
LINQ to SQL derlemesi standart Windows Forms Uygulaması şablonuna dahil değildir. Aşağıdaki adımlarda açıklandığı gibi derlemeyi kendiniz eklemeniz gerekir:
System.Data.Linq.dll eklemek için
Çözüm Gezgini'ndeTüm Dosyaları Göster'e tıklayın.
Çö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.
Northwind Kod Dosyasını Projeye Ekleme
Bu adımda, 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:\linqtest3\northwind.vb gidin ve Ekle'ye tıklayın.
northwind.vb dosyası projeye eklenir.
Veritabanı Bağlantısı Oluşturma
Bu adımda Northwind örnek veritabanı bağlantısını tanımlarsınız. Bu kılavuzda yol olarak "c:\linqtest3\northwnd.mdf" kullanılır.
Veritabanı bağlantısını oluşturmak için
Çözüm Gezgini'ndeForm1.vb sağ tıklayın ve ardından Kodu Görüntüle'ye tıklayın.
Class Form1kod düzenleyicisinde görünür.Kod bloğuna
Form1aşağıdaki kodu yazın:Dim db As New Northwnd("c:\linqtest3\northwnd.mdf")
Kullanıcı Arabirimini Ayarlama
Bu görevde, kullanıcıların veritabanındaki verilere erişmek için saklı yordamlar yürütebilmesi için bir arabirim oluşturursunuz. Bu kılavuzla geliştirdiğiniz uygulamada, kullanıcılar veritabanındaki verilere yalnızca uygulamaya eklenmiş saklı yordamları kullanarak erişebilir.
Kullanıcı arabirimini ayarlamak için
Windows Forms Designer'a geri dönün (Form1.vb[Tasarım]).
Görünüm menüsünde Araç Kutusu'na tıklayın.
Araç kutusu açılır.
Uyarı
Bu bölümdeki kalan adımları gerçekleştirirken araç kutusunu açık tutmak için AutoHide pushpin öğesine tıklayın.
Araç kutusundan form1'e iki düğme, iki metin kutusu ve iki etiket sürükleyin.
Denetimleri, eşlik eden çizimde olduğu gibi düzenleyin. Denetimlerin kolayca sığması için Form1'i genişletin.
Etiket1'e sağ tıklayın ve ardından Özellikler'e tıklayın.
Label1 olan Text özelliğini OrderID: girin olarak değiştirin.
Label2 için de aynı şekilde, Text özelliğini Label2 yerine CustomerID: girin olarak değiştirin.
Aynı şekilde, Düğme1 için Text özelliğini Sipariş Ayrıntıları olarak değiştirin.
Button2 için Text özelliğini Sipariş Geçmişi olarak değiştirin.
Tüm metnin görünür olması için düğme denetimlerini genişletin.
Düğme tıklamalarını işlemek için
Olay işleyicisini oluşturmak ve kod düzenleyicisini açmak için Form1'de
Button1çift tıklayın.İşleyiciye
Button1aşağıdaki kodu yazın:' Declare a variable to hold the contents of ' TextBox1 as an argument for the stored ' procedure. Dim parm As String = TextBox1.Text ' Declare a variable to hold the results returned ' by the stored procedure. Dim custQuery = db.CustOrdersDetail(parm) ' Clear the message box of previous results. Dim msg As String = "" Dim response As MsgBoxResult ' Execute the stored procedure and store the results. For Each custOrdersDetail As CustOrdersDetailResult In custQuery msg &= custOrdersDetail.ProductName & vbCrLf Next ' Display the results. If msg = "" Then msg = "No results." End If response = MsgBox(msg) ' Clear the variables before continuing. parm = "" TextBox1.Text = ""Şimdi olay işleyicisini oluşturmak ve kod düzenleyicisini açmak için Form1'de
Button2çift tıklayın.İşleyiciye
Button2aşağıdaki kodu yazın:' Comments in the code for Button2 are the same ' as for Button1. Dim parm As String = TextBox2.Text Dim custQuery2 = db.CustOrderHist(parm) Dim msg As String = "" Dim response As MsgBoxResult For Each custOrdHist As CustOrderHistResult In custQuery2 msg &= custOrdHist.ProductName & vbCrLf Next If msg = "" Then msg = "No results." End If response = MsgBox(msg) parm = "" TextBox2.Text = ""
Uygulamayı Test Etme
Şimdi uygulamanızı test etme zamanı geldi. Veri deposuyla etkileşiminizin, iki saklı yordamın gerçekleştirebileceği eylemlerle sınırlı olduğunu unutmayın. Bu eylemler, girdiğiniz herhangi bir sipariş kimliği için dahil edilen ürünleri iade etmek veya girdiğiniz herhangi bir CustomerID için sipariş edilen ürünlerin geçmişini iade etmektir.
Uygulamayı test etmek için
Hata ayıklamayı başlatmak için F5 tuşuna basın.
Form1 görüntülenir.
SiparişKimliği Girin kutusuna 10249 yazıp Sipariş Ayrıntıları'na tıklayın.
İleti kutusunda, 10249 sırasına dahil edilen ürünler listelenir.
İleti kutusunu kapatmak için Tamam'a tıklayın.
CustomerID Girin kutusuna yazın
ALFKIve Sipariş Geçmişi'ne tıklayın.Müşteri ALFKI'sinin sipariş geçmişini bir ileti kutusu listeler.
İleti kutusunu kapatmak için Tamam'a tıklayın.
SiparişKimliği Girin kutusuna yazın
123ve Sipariş Ayrıntıları'na tıklayın.İleti kutusunda "Sonuç yok" ifadesi görüntülenir.
İleti kutusunu kapatmak için Tamam'a tıklayın.
Hata Ayıkla menüsünde Hata ayıklamayı durdur'a tıklayın.
Hata ayıklama oturumu kapanır.
Denemeyi tamamladıysanız, Dosya menüsünde Projeyi Kapat'a tıklayabilir ve istendiğinde projenizi kaydedebilirsiniz.
Sonraki Adımlar
Bazı değişiklikler yaparak bu projeyi geliştirebilirsiniz. Örneğin, kullanılabilir saklı yordamları bir liste kutusunda listeleyip kullanıcının yürütülecek yordamları seçmesini sağlayabilirsiniz. Ayrıca raporların çıkışını bir metin dosyasına akışla aktarabilirsiniz.