Aracılığıyla paylaş


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

ADO.NET'in veriye erişim ve veri işlemesi için iki ana bileşeni şunlardır: .NET Framework veri sağlayıcıları ve DataSet.

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

.NET Framework Veri Sağlayıcıları, 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. Veri kaynağında SQL komutlarını yürütmek için DataAdapter, Command nesnelerini kullanarak hem DataSet'yi verilerle yükler hem de DataSet'te yapılan değişiklikleri veri kaynağıyla yeniden uzlaştırır. Daha fazla bilgi için bkz . .NET Framework Veri Sağlayıcıları ve ADO.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 grafik
ADO.NET mimarisi

DataReader veya DataSet Seçimi

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 ya da bir XML Web hizmetinden gelen uzaktaki veriler.

  • Windows Forms denetimine bağlanma veya birden fazla kaynaktan veri birleştirme ve ilişkilendirme gibi verilerle dinamik 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.

DataSet sağlanan işlevselliğine ihtiyacınız yoksa, verilerinizi ileri yalnızca-okunur bir şekilde döndürmek için DataReader kullanarak uygulamanızın performansını geliştirebilirsiniz. DataAdapter öğesi DataReader öğesini kullanarak DataSet içeriğini doldurur (DataAdapter'dan Bir DataSet doldurma bölümüne bakın). DataReader öğesini kullanarak, DataSet öğesi tarafından tüketilecek belleği tasarruf ederek ve DataSet içeriğini oluşturmak ve doldurmak için gereken işleme ihtiyaç duymayarak performansı artırabilirsiniz.

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 modelinde yer alan dil ile tümleşik sorguları Transact-SQL ç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. ADO.NET Entity Framework.

WCF Veri Hizmetleri

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ı DataSet nesnesinde birleşir. DataSet bir dosya veya XML akışından gelen 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. DataSet'nin yerel serileştirme biçiminin XML olması nedeniyle, DataSet verileri katmanlar arasında taşımak ve bir XML Web hizmetine veri ve şema bağlamını uzaktan yönlendirmek için mükemmel bir ortam ve en uygun seçimdir. Daha fazla bilgi için bkz. XML Belgeleri ve Verileri.

Ayrıca bakınız