Visual Studio'da LINQ to SQL araçları
LINQ to SQL, Microsoft tarafından yayınlanan ilk nesne-ilişkisel eşleme teknolojisidir. Temel senaryolarda iyi çalışır ve Visual Studio'da desteklenmeye devam eder, ancak artık etkin geliştirme aşamasında değildir. Zaten kullanmakta olan eski bir uygulamanın bakımını yaparken veya SQL Server kullanan ve çok tablolu eşleme gerektirmeyen basit uygulamalarda LINQ to SQL kullanın. Genel olarak, nesne ilişkisel eşleyici katmanı gerektiğinde yeni uygulamaların Entity Framework kullanması gerekir.
LINQ to SQL araçlarını yükleme
Visual Studio'da, Nesne İlişkisel Tasarımcısı (O/R Tasarım Aracı) kullanarak SQL tablolarını temsil eden LINQ to SQL sınıfları oluşturursunuz. O/R tasarımcısı, .dbml dosyalarını düzenleme kullanıcı arabirimidir. .dbml dosyalarını tasarımcı yüzeyiyle düzenlemek için, Visual Studio'nun herhangi bir iş yükünün parçası olarak varsayılan olarak yüklenmeyen LINQ to SQL araçları gerekir.
LINQ to SQL araçlarını yüklemek için Visual Studio yükleyicisini başlatın, Değiştir'i seçin, ardından Tek Bileşenler sekmesini seçin ve ardından Kod Araçları kategorisinin altında LINQ to SQL araçları'nı seçin.
O/R Tasarım Aracı nedir?
O/R Tasarım Aracı tasarım yüzeyinde iki ayrı alan vardır: soldaki varlıklar bölmesi ve sağda yöntemler bölmesi. Varlıklar bölmesi, varlık sınıflarını, ilişkilendirmelerini ve devralma hiyerarşilerini görüntüleyen ana tasarım yüzeyidir. Yöntemler bölmesi, saklı yordamlara ve işlevlere eşlenen yöntemleri görüntüleyen DataContext tasarım yüzeyidir.
O/R Tasarım Aracı, veritabanındaki nesneleri temel alan LINQ to SQL varlık sınıfları ve ilişkilendirmeleri (ilişkiler) oluşturmak için görsel bir tasarım yüzeyi sağlar. Başka bir deyişle, O/R Tasarım Aracı veritabanındaki nesnelere eşleyen bir uygulamada nesne modeli oluşturur. Ayrıca varlık sınıfları ile veritabanı arasında veri gönderen ve alan kesin türe DataContext sahip bir de oluşturur. O/R Tasarım Aracı ayrıca saklı yordamları ve işlevleri veri döndürme ve varlık sınıflarını doldurma yöntemleriyle DataContext eşleme işlevselliği sağlar. Son olarak, O/R Tasarım Aracı varlık sınıfları arasında devralma ilişkileri tasarlama olanağı sağlar.
O/R tasarımcısını açma
Projenize SQL varlık modeline LINQ eklemek için Proje>Yeni Öğe Ekle'yi ve ardından proje öğeleri listesinden LINQ to SQL Sınıfları'nı seçin:
Visual Studio bir .dbml
dosya oluşturur ve bunu çözümünüze ekler. Bu, XML eşleme dosyası ve ilgili kod dosyalarıdır.
Dosyayı seçtiğinizde .dbml
Visual Studio, modeli görsel olarak oluşturmanıza olanak tanıyan O/R Tasarım Aracı yüzeyini gösterir. Aşağıdaki çizimde, Northwind Customers
ve Orders
tablolar Sunucu Gezgini'nden sürüklendikten sonra tasarımcı gösterilmektedir. Tablolar arasındaki ilişkiyi not edin.
Önemli
O/R Tasarım Aracı yalnızca 1:1 eşleme ilişkilerini desteklediğinden basit bir nesne ilişkisel eşleyicidir. Başka bir deyişle, bir varlık sınıfının veritabanı tablosu veya görünümüyle yalnızca 1:1 eşleme ilişkisi olabilir. Varlık sınıfını birleştirilmiş tabloyla eşleme gibi karmaşık eşleme desteklenmez; karmaşık eşleme için Entity Framework'i kullanın. Buna ek olarak, tasarımcı tek yönlü bir kod oluşturucudur. Bu, yalnızca tasarımcı yüzeyinde yaptığınız değişikliklerin kod dosyasına yansıtıldığını gösterir. Kod dosyasında el ile yapılan değişiklikler O/R Tasarım Aracı yansıtılmaz. Tasarımcı kaydedildiğinde ve kod yeniden oluşturulduğunda kod dosyasında el ile yaptığınız tüm değişikliklerin üzerine yazılır. Kullanıcı kodu ekleme ve O/R Tasarım Aracı tarafından oluşturulan sınıfları genişletme hakkında bilgi için bkz. Nasıl yapılır: O/R Tasarım Aracı tarafından oluşturulan kodu genişletme.
DataContext oluşturma ve yapılandırma
Bir projeye SQL Sınıflarına LINQ öğesi ekledikten ve O/R Tasarım Aracı açtıktan sonra boş tasarım yüzeyi yapılandırılmaya hazır boş DataContext bir alanı temsil eder. , DataContext tasarım yüzeyine sürüklenen ilk öğe tarafından sağlanan bağlantı bilgileriyle yapılandırılır. Bu nedenle, DataContext tasarım yüzeyine bırakılan ilk öğeden bağlantı bilgileri kullanılarak yapılandırılır. Sınıfı hakkında DataContext daha fazla bilgi için bkz. DataContext yöntemleri (O/R Tasarım Aracı).
Veritabanı tablo ve görünümlerine eşleyen varlık sınıfları oluşturma
Veritabanı tablolarını ve görünümlerini Sunucu Gezgini'nden veya Veritabanı Gezgini'nden O/R Tasarım Aracı sürükleyerek tablolara ve görünümlere eşlenmiş varlık sınıfları oluşturabilirsiniz. Önceki bölümde belirtildiği gibi , DataContext tasarım yüzeyine sürüklenen ilk öğe tarafından sağlanan bağlantı bilgileriyle yapılandırılır. O/R Tasarım Aracı farklı bir bağlantı kullanan sonraki bir öğe eklenirse, için DataContextbağlantıyı değiştirebilirsiniz. Daha fazla bilgi için bkz. Nasıl yapılır: Tablolar ve görünümlerle eşlenen LINQ to SQL sınıfları oluşturma (O/R Tasarım Aracı).
Saklı yordamları ve işlevleri çağıran DataContext yöntemleri oluşturma
Saklı yordamları ve işlevleri Sunucu Gezgini'nden veya Veritabanı Gezgini'nden O/R Tasarım Aracı sürükleyerek çağıran (eşlenen) yöntemler oluşturabilirsiniz.DataContext Saklı yordamlar ve işlevler O/R Tasarım Aracı yöntemi DataContextolarak eklenir.
Not
Saklı yordamları ve işlevleri Sunucu Gezgini'nden veya Veritabanı Gezgini'nden O/R Tasarım Aracı sürüklediğinizde, oluşturulan DataContext yöntemin dönüş türü öğeyi nereye bıraktığınıza bağlı olarak değişir. Daha fazla bilgi için bkz. DataContext yöntemleri (O/R Tasarım Aracı).
Varlık sınıfları ile veritabanı arasında veri kaydetmek için saklı yordamları kullanmak için DataContext yapılandırma
Daha önce belirtildiği gibi saklı yordamları ve işlevleri çağıran yöntemler oluşturabilirsiniz DataContext . Ayrıca, eklemeler, güncelleştirmeler ve silme işlemleri gerçekleştiren SQL çalışma zamanı davranışı için varsayılan LINQ için kullanılan saklı yordamları da atayabilirsiniz. Daha fazla bilgi için bkz. Nasıl yapılır: Güncelleştirmeleri, eklemeleri ve silmeleri gerçekleştirmek için saklı yordamları atama (O/R Tasarım Aracı).
Devralma ve O/R tasarımcısı
Diğer nesneler gibi LINQ to SQL sınıfları da devralmayı kullanabilir ve diğer sınıflardan türetilebilir. Veritabanında devralma ilişkileri çeşitli yollarla oluşturulur. O/R Tasarım Aracı genellikle ilişkisel sistemlerde uygulandığından tek tablo devralma kavramını destekler. Daha fazla bilgi için bkz. Nasıl yapılır: O/R Tasarım Aracı kullanarak devralmayı yapılandırma.
LINQ to SQL sorguları
O/R Tasarım Aracı tarafından oluşturulan varlık sınıfları, Dil Tümleşik Sorgusu (LINQ) ile kullanılmak üzere tasarlanmıştır. Daha fazla bilgi için bkz . Nasıl yapılır: Bilgi için sorgulama.
Oluşturulan DataContext ve varlık sınıfı kodunu farklı ad alanlarına ayırın
O/R Tasarım Aracı üzerinde DataContextBağlam Ad Alanı ve Varlık Ad Alanı özelliklerini sağlar. Bu özellikler ve varlık sınıfı kodunun DataContext hangi ad alanında oluşturulduğunu belirler. Varsayılan olarak, bu özellikler boştur ve DataContext ve varlık sınıfları uygulamanın ad alanında oluşturulur. Kodu uygulamanın ad alanı dışında bir ad alanında oluşturmak için Bağlam Ad Alanı ve/veya Varlık Ad Alanı özelliklerine bir değer girin.