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.
Uyarı
Sınıf DataSet ve ilgili sınıflar, uygulamaların veritabanıyla bağlantısı kesilirken uygulamaların bellekteki verilerle çalışmasını sağlayan 2000'lerin başlarındaki eski .NET Framework teknolojileridir. Teknolojiler özellikle kullanıcıların verileri değiştirmesine ve değişiklikleri veritabanında kalıcı hale getirebilmesine olanak tanıyan uygulamalar için kullanışlıdır. Veri kümeleri başarısı kanıtlanmış bir teknoloji olsa da, yeni .NET uygulamaları için önerilen yaklaşım Entity Framework Core kullanmaktır. Entity Framework, tablosal verilerle nesne modelleri olarak çalışmak için daha doğal bir yol sağlar ve daha basit bir programlama arabirimine sahiptir.
Varlık sınıflarının doğrulanması, veri nesnelerine girilen değerlerin bir nesnenin şemasındaki kısıtlamalara ve ayrıca uygulama için oluşturulan kurallara uygun olduğunu onaylama işlemidir. Temel alınan veritabanına güncelleştirme göndermeden önce verileri doğrulamak, hataları azaltan iyi bir uygulamadır. Ayrıca bir uygulama ile veritabanı arasındaki gidiş dönüş sayısını da azaltır.
Visual Studio'daki LINQ to SQL araçları, kullanıcıların tam varlıkların Eklemeleri, Güncelleştirmeleri ve Silmeleri sırasında ve ayrıca tek tek sütun değişiklikleri sırasında ve sonrasında çalışan tasarımcı tarafından oluşturulan kodu genişletmesini sağlayan kısmi yöntemler sağlar.
Uyarı
Bu konu, O/R Tasarımcısı'nı kullanarak varlık sınıflarına doğrulama eklemeye yönelik temel adımları sağlar. Belirli bir varlık sınıfına başvurmadan bu genel adımları izlemek zor olabileceği için, gerçek verileri kullanan bir kılavuz sağlanır.
Belirli bir sütundaki değerde yapılan değişiklikler için doğrulama ekleme
Bu yordamda, sütundaki değer değiştiğinde verilerin nasıl doğrulanması gösterilmektedir. Doğrulama sınıf tanımı içinde gerçekleştirildiğinden (kullanıcı arabirimi yerine), değer doğrulamanın başarısız olmasına neden olursa bir özel durum oluşturulur. Uygulamanızda sütun değerlerini değiştirmeye çalışan kod için hata işlemeyi uygulayın.
Uyarı
Bu makaledeki yönergeler, Visual Studio'da kullanılabilen etkileşimli geliştirme deneyiminin (IDE) en son sürümünü gösterir. Bilgisayarınız bazı kullanıcı arabirimi öğeleri için farklı adlar veya konumlar gösterebilir. Visual Studio'nun farklı bir sürümünü veya farklı ortam ayarlarını kullanıyor olabilirsiniz. Daha fazla bilgi için bkz. IDEkişiselleştirme.
Sütunun değer değişikliği sırasında verileri doğrulamak için
O/R Tasarımcısı'nda yeni bir LINQ to SQL Sınıfları dosyası (
.dbml
dosyası) açın veya oluşturun. (Çözüm Gezgini'nde dosyaya.dbml
çift tıklayın.)O/R Tasarımcısı'nda doğrulama eklemek istediğiniz sınıfa sağ tıklayın ve kodu görüntüle'yi seçin.
Kod Düzenleyicisi seçili varlık sınıfı için kısmi bir sınıfla açılır.
İmleci kısmi sınıfa yerleştirin.
Visual Basic projeleri için:
Yöntem Adı listesini genişletin.
OnCOLUMNNAMEChanging yöntemini, doğrulama eklemek istediğiniz sütun için bulun.
Kısmi sınıfa bir
OnCOLUMNNAMEChanging
yöntem eklenir.Önce bir değerin girildiğini doğrulamak ve ardından sütun için girilen değerin uygulamanız için kabul edilebilir olduğundan emin olmak için aşağıdaki kodu ekleyin. Argüman
value
önerilen bir değeri içerir, bu nedenle geçerli bir değer olduğunu doğrulamak için kontrol ekleyin.If value.HasValue Then ' Add code to ensure that the value is acceptable. ' If value < 1 Then ' Throw New Exception("Invalid data!") ' End If End If
C# projeleri için:
C# projeleri otomatik olarak olay işleyicileri oluşturmadığından, sütun değiştiren kısmi yöntemleri oluşturmak için IntelliSense'i kullanabilirsiniz. Kullanılabilir kısmi yöntemler listesine erişmek için bir alan yazın
partial
ve ardından bir boşluk bırakın. Doğrulama eklemek istediğiniz sütunun sütun değiştirme yöntemine tıklayın. Aşağıdaki kod, sütun değiştiren kısmi bir yöntem seçtiğinizde oluşturulan koda benzer:partial void OnCOLUMNNAMEChanging(COLUMNDATATYPE value) { throw new System.NotImplementedException(); }
Varlık Sınıfına Güncelleştirmeler için Doğrulama Ekleme
Değişiklikler sırasında değerleri denetlemeye ek olarak, tam bir varlık sınıfını güncelleştirme girişiminde bulunulduğunda verileri de doğrulayabilirsiniz. Denenen güncelleştirme sırasında doğrulama, iş kuralları bunu gerektiriyorsa birden çok sütundaki değerleri karşılaştırmanıza olanak tanır. Aşağıdaki yordam, tam bir varlık sınıfını güncelleştirme girişiminde bulunulduğunda nasıl doğrulan yapılacağını gösterir.
Uyarı
Varlık sınıflarını tamamlamaya yönelik güncelleştirmeler için doğrulama kodu, kısmi DataContext sınıfta (belirli bir varlık sınıfının kısmi sınıfı yerine) yürütülür.
Varlık sınıfına güncelleştirme sırasında verileri doğrulamak için
O/R Tasarımcısı'nda yeni bir LINQ to SQL Sınıfları dosyası (
.dbml
dosyası) açın veya oluşturun. (Çözüm Gezgini'nde dosyaya.dbml
çift tıklayın.)O/R Tasarımcısı'nda boş bir alana sağ tıklayın ve Kodu Görüntüle'ye tıklayın.
Kod Düzenleyicisi,
DataContext
için bir kısmi sınıfla açılır.İmleci
DataContext
için kısmi sınıfa yerleştirin.Visual Basic projeleri için:
Yöntem Adı listesini genişletin.
UpdateENTITYCLASSNAME öğesine tıklayın.
Kısmi sınıfa bir
UpdateENTITYCLASSNAME
yöntem eklenir.Aşağıdaki kodda gösterildiği gibi bağımsız değişkenini
instance
kullanarak tek tek sütun değerlerine erişin:If (instance.COLUMNNAME = x) And (instance.COLUMNNAME = y) Then Dim ErrorMessage As String = "Invalid data!" Throw New Exception(ErrorMessage) End If
C# projeleri için:
C# projeleri otomatik olarak olay işleyicileri oluşturmadığından, kısmi
UpdateCLASSNAME
yöntemi oluşturmak için IntelliSense'i kullanabilirsiniz. Kullanılabilir kısmi yöntemler listesine erişmek için bir alan yazınpartial
ve ardından bir boşluk bırakın. Doğrulama eklemek istediğiniz sınıfın güncelleştirme yöntemine tıklayın. Aşağıdaki kod, kısmi birUpdateCLASSNAME
yöntem seçtiğinizde oluşturulan koda benzer:partial void UpdateCLASSNAME(CLASSNAME instance) { if ((instance.COLUMNNAME == x) && (instance.COLUMNNAME = y)) { string ErrorMessage = "Invalid data!"; throw new System.Exception(ErrorMessage); } }