ADO.NET Mimarisi

Veri işleme, geleneksel olarak öncelikle bağlantı tabanlı, iki katmanlı bir modele dayanır. Veri işleme giderek çok katmanlı mimarileri kullandığı için programcılar uygulamaları için daha iyi ölçeklenebilirlik sağlamak için bağlantısız bir yaklaşıma geçiyor.

ADO.NET Bileşenleri

Verilere erişmek ve verileri işlemek için ADO.NET iki ana bileşeni .NET Framework veri sağlayıcıları ve 'tir DataSet.

.NET Framework Veri Sağlayıcıları

.NET Framework Veri Sağlayıcısı, veri işleme ve verilere hızlı, salt okunur erişim için açıkça tasarlanmış bileşenlerdir. Connection nesnesi bir veri kaynağına bağlantı sağlar. Command nesnesi veri döndürmek, verileri değiştirmek, saklı yordamları çalıştırmak ve parametre bilgilerini göndermek veya almak için veritabanı komutlarına erişim sağlar. , DataReader veri kaynağından yüksek performanslı bir veri akışı sağlar. Son olarak, DataAdapter nesnesi ile veri kaynağı arasındaki DataSet köprüyü sağlar. Command nesneleri DataAdapter kullanarak veri kaynağında SQL komutlarını yürüterek hem verilerle yükler DataSet hem de veri kaynağındaki verilerde DataSet yapılan değişiklikleri mutabık tutar. Daha fazla bilgi için bkz. .NET Framework Veri Sağlayıcısı veADO.NET'da Verileri Alma ve Değiştirme.

The DataSet

ADO.NET DataSet , herhangi bir veri kaynağından bağımsız olarak veri erişimi için açıkça tasarlanmıştır. Sonuç olarak, birden çok ve farklı veri kaynağıyla kullanılabilir, XML verileriyle kullanılabilir veya uygulamanın yerel verilerini yönetmek için kullanılabilir. , DataSet veri satırları ve sütunlarından oluşan bir veya daha fazla DataTable nesneden oluşan bir koleksiyon ve ayrıca nesnelerdeki DataTable veriler hakkındaki birincil anahtar, yabancı anahtar, kısıtlama ve ilişki bilgilerini içerir. Daha fazla bilgi için bkz . DataSets, DataTables ve DataViews.

Aşağıdaki diyagramda bir .NET Framework veri sağlayıcısı ile arasındaki ilişki gösterilmektedir DataSet.

ADO.Net graphic
ADO.NET mimarisi

DataReader veya DataSet Seçme

Uygulamanızın bir DataReader (bkz . DataReader Kullanarak Veri Alma) veya DataSet (bkz . DataSets, DataTables ve DataViews) kullanması gerektiğine karar verdiğinizde, uygulamanızın gerektirdiği işlev türünü göz önünde bulundurun. Aşağıdakileri yapmak için a DataSet kullanın:

  • Verileri işleyebileceğiniz şekilde uygulamanızda yerel olarak önbelleğe alın. Yalnızca bir sorgunun sonuçlarını okumanız gerekiyorsa, DataReader daha iyi bir seçimdir.

  • Katmanlar arasında veya XML Web hizmetinden uzak veriler.

  • Windows Forms denetimine bağlama veya birden çok kaynaktan verileri birleştirme ve ilgili olma gibi verilerle dinamik olarak etkileşim kurun.

  • Veri kaynağına açık bir bağlantı gerektirmeden veriler üzerinde kapsamlı işlem gerçekleştirin ve bu da bağlantıyı diğer istemciler tarafından kullanılmak üzere serbest bırakmasını sağlar.

tarafından DataSetsağlanan işlevlere ihtiyacınız yoksa, verilerinizi salt okunur ve salt okunur bir şekilde döndürmek için komutunu kullanarak DataReader uygulamanızın performansını geliştirebilirsiniz. öğesini kullanarak öğesinin DataSet içeriğini doldurmak için kullanır DataReader (DataAdapterbkz. DataAdapter'dan Bir DataSet doldurma), DataReaderkullanarak performansını artırabilirsiniz çünkü tarafından DataSetkullanılacak belleği kaydedecek ve içeriğini DataSetoluşturmak ve doldurmak için gereken işlemeden kaçınacaksınız.

LINQ to DataSet

LINQ to DataSet, bir DataSet nesnesinde önbelleğe alınan veriler üzerinde sorgu özellikleri ve derleme zamanı türü denetimi sağlar. C# veya Visual Basic gibi .NET Framework geliştirme dillerinden birinde sorgu yazmanızı sağlar. Daha fazla bilgi için bkz . LINQ to DataSet.

LINQ to SQL

LINQ to SQL, ara kavramsal model kullanmadan ilişkisel veritabanının veri yapılarına eşlenen bir nesne modeline yönelik sorguları destekler. Her tablo ayrı bir sınıfla temsil edilir ve nesne modelini ilişkisel veritabanı şemasıyla sıkı bir şekilde birleştirilir. LINQ to SQL, nesne modelindeki dille tümleşik sorguları Transact-SQL'e çevirir ve yürütülmek üzere veritabanına gönderir. Veritabanı sonuçları döndürdüğünde, LINQ to SQL sonuçları nesnelere geri çevirir. Daha fazla bilgi için bkz . LINQ to SQL.

ADO.NET Entity Framework

ADO.NET Entity Framework, geliştiricilerin doğrudan ilişkisel bir depolama şemasıyla programlamak yerine kavramsal bir uygulama modeline göre programlama yaparak veri erişimi uygulamaları oluşturmasını sağlamak için tasarlanmıştır. Amaç, veri odaklı uygulamalar için gereken kod ve bakım miktarını azaltmaktır. Daha fazla bilgi için bkz . Entity Framework ADO.NET.

WCF Data Services

WCF Veri Hizmetleri, Web'de veya intranette veri hizmetlerini dağıtmak için kullanılır. Veriler Varlık Veri Modeli belirtimlerine göre varlık ve ilişki olarak yapılandırılır. Bu modelde dağıtılan veriler standart HTTP protokolü tarafından ele alınabilir. Daha fazla bilgi için bkz. WCF Veri Hizmetleri 4.5.

XML ve ADO.NET

ADO.NET verilere bağlantısız erişim sağlamak için XML'in gücünden yararlanıyor. ADO.NET.NET Framework'teki XML sınıfları ile birlikte tasarlanmıştır; her ikisi de tek bir mimarinin bileşenleridir.

ADO.NET ve .NET Framework'teki XML sınıfları nesnesinde birleşin DataSet . dosyası DataSet veya XML akışı olsun, xml kaynağındaki verilerle doldurulabilir. , DataSet içindeki verilerin DataSetkaynağından bağımsız olarak şemasını XML şema tanım dili (XSD) şeması olarak içeren World-Wide Web Consortium (W3C) uyumlu XML olarak yazılabilir. öğesinin DataSet yerel serileştirme biçimi XML olduğundan, verileri katmanlar arasında taşımak için mükemmel bir ortamdır ve bir XML Web hizmetine veri ve şema bağlamını uzaktan yönlendirmek için en uygun seçimdir DataSet . Daha fazla bilgi için bkz . XML Belgeleri ve Verileri.

Ayrıca bkz.