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 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 DataSet
sağ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
(DataAdapter
bkz. DataAdapter'dan Bir DataSet doldurma), DataReader
kullanarak performansını artırabilirsiniz çünkü tarafından DataSet
kullanılacak belleği kaydedecek ve içeriğini DataSet
oluş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 DataSet
kaynağı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.