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şleme 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 Designer) kullanarak SQL tablolarını temsil eden LINQ to SQL sınıfları oluşturursunuz. O/R tasarımcısı, .dbml
dosyalarını düzenlemeye yönelik kullanıcı arabirimidir. Tasarımcı yüzeyiyle .dbml
dosyalarını düzenlemek için, Visual Studio'nun iş yüklerinin herhangi birinin 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'iseçin, sonra Tek 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ımcısı nedir?
O/R Tasarımcısı tasarım yüzeyinde iki ayrı alan vardır: soldaki varlıklar bölmesi ve sağ taraftaki 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 DataContext yöntemlerini görüntüleyen tasarım yüzeyidir.
O/R Tasarımcısı, veritabanındaki nesneleri temel alan sql varlık sınıfları ve ilişkilendirmeleri (ilişkiler) için LINQ oluşturmak için görsel bir tasarım yüzeyi sağlar. Başka bir deyişle, O/R Tasarımcısı veritabanındaki nesnelere eşleyen bir uygulamada nesne modeli oluşturur. Ayrıca varlık sınıfları ile veritabanı arasında veri gönderip alan kesin türdeki bir DataContext oluşturur. O/R Tasarımcısı, depolanan yordamları ve işlevleri veri döndürmek ve varlık sınıflarını doldurmaya yönelik DataContext yöntemleriyle eşlemek için de işlevsellik sağlar. Son olarak, O/R Tasarımcısı varlık sınıfları arasında devralma ilişkileri tasarlama olanağı sağlar.
O/R tasarımcısını açma
Projenize SQL'e LINQ varlık modeli eklemek için Project >seçin ve ardından proje öğeleri listesinden LINQ to SQL Sınıfları seçin:
Visual Studio bir .dbml
dosyası oluşturur ve bunu çözümünüze ekler. Bu, XML eşleme dosyası ve ilgili kod dosyalarıdır.
.dbml
dosyasını seçtiğinizde Visual Studio, modeli görsel olarak oluşturmanıza olanak tanıyan O/R Designer yüzeyini gösterir. Aşağıdaki çizim, Northwind Customers
ve Orders
tabloları Sunucu Gezgini'den sürüklendikten sonra tasarımcıyı göstermektedir. Tablolar arasındaki ilişkiyi not edin.
Önemli
O/R Tasarımcısı, 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 Designer'e yansıtılmaz. Kod dosyasında elle yaptığınız tüm değişiklikler, tasarımcı kaydedildiğinde ve kod yeniden oluşturulduğunda üzerine yazılır. Nasıl yapılır: O/R Designertarafından oluşturulan sınıfları genişletmek ve kullanıcı kodu eklemek hakkında bilgi için bölümüne bakın.
DataContext oluşturma ve yapılandırma
Projeye bir LINQ to SQL Sınıfları öğesi ekledikten ve O/R Designer'ıaçtıktan sonra, boş tasarım yüzeyi yapılandırmaya hazır boş bir DataContext'ü ifade 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. DataContext sınıfı hakkında daha fazla bilgi için bkz. DataContext yöntemleri (O/R Tasarımcısı).
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 veya Veritabanı GezginiO/R Designersü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 Designer'ye farklı bir bağlantı kullanan bir öğe eklendiğinde, DataContextiçin bağlantıyı değiştirebilirsiniz. Daha fazla bilgi için bkz. Nasıl yapılır: Tablo ve görünümlerle eşlenmiş LINQ to SQL sınıfları oluşturma (O/R Tasarımcısı).
Saklı yordamları ve işlevleri çağıran DataContext yöntemleri oluşturma
Saklı yordamları ve işlevleri DataContext veya Veritabanı Gezgini'ndenO/R Designersürükleyerek çağıran (eşlenen) yöntemler oluşturabilirsiniz. Saklı yordamlar ve işlevler, O/R Tasarımcısı'e, DataContext'nin yöntemleri olarak eklenir.
Not
Saklı yordamları ve işlevleri Sunucu Gezgini veya Veritabanı GezginiO/R Tasarımcısısürüklediğinizde, oluşturulan DataContext yönteminin 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ımcısı).
Varlık sınıfları ile veritabanı arasında veri kaydetmek amacıyla saklı yordamları kullanmak için DataContext'i yapılandırın.
Daha önce belirtildiği gibi, saklı yordamları ve işlevleri çağıran DataContext yöntemleri oluşturabilirsiniz. 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 bakınız: Nasıl yapılır: Güncelleştirmeleri, eklemeleri ve silmeleri gerçekleştirmek için saklı yordamları atama (O/R Tasarımcısı).
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ımcısı, genellikle ilişkisel sistemlerde uygulandığı şekliyle tek tablo devralma kavramını destekler. Nasıl yapılır: O/R Tasarımcısı kullanarak devralmayı yapılandırma hakkında daha fazla bilgi için bkz..
LINQ to SQL sorguları
O/R Tasarımcısı 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ımcısıüzerinde Bağlam Ad Alanı ve DataContext özelliklerini sağlar. Bu özellikler, DataContext ve varlık sınıfı kodunun hangi ad alanında oluşturulduğunu belirler. Varsayılan olarak, bu özellikler boştur ve uygulamanın ad alanında DataContext ve varlık sınıfları 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.