System.Data.SqlClient ve System.Data.SqlServer namespace'leri birleştiriliyor.

SQL Server 2005 - Programcılar Açısından Öne Çıkan Yenilikler adıyla yayınladığım makalelerimi okuduysanız, yada msdn üzerinde Sql Server 2005 InProcess Managed Provider konusunda dokumanları okuduysanız. .NET 2.0'da sqlaccess.dll adında bir assembly yer aldığını ve bunun içerisinde ki System.Data.SqlServer namespace'inin InProc Managed Provider'ı oluşturduğunu biliyorsunuzdur. (Bilmiyorsanız bile bu cümle sayesinde öğrendiniz:))

Ancak, ADO.NET Team oturmuş Usability, Consistency, Long-term story başlıkları altında açıkladıkları sebepler den ötürü System.Data.SqlServer ve System.Data.SqlClient'ı birleştirmişler, kanaatimce iyi de yapmışlar!

Not:Bu durumda PDF'i güncellemem gerekecek sanırım:)

Zaten nesne isimleri (kesişim dışında kalan class'lar hariç) aynıydı. Biz bunların ikisini de birleştirelim kullanıcı hep aynı nesne ile çalışsın ancak biz connectionstring'e bakarak çalışmakta olan kodun nerede olduğunu anlayalım demişler.

Eğer connectionstringi aşağıdaki gibi yaparsak InProc çalışıyoruz demek olacak bundan böyle!

con.connectionstring="context connection=true"

Buraya kadar her şey güzel hoş ancak Pablo Castro (Program Manager - ADO.NET Team)  weblogunda şundan da bahsetmiş:

SqlContext, SqlPipe gibi iki provider için ortak olmayan, InProc'a ait olan sınıfları yine System.Data.dll içerisinde (sqlaccess.dll artık yok demiştik.), ancak Microsoft.SqlServer.Server namespace'i altında olacağını söylemiş.

Yine benim kanaatime göre System.Data.Dll içerisinde sadece System ile başlayan namespace'lerin yer alması daha iyi olur.

Aşağıdaki liste benim SqlContext,SqlPipe gibi nesnelerin yer almasının uygun olacağı namespace'ler için bir öneri listesidir. (yorum olarak ekledik weblog yazısının sonuna)

  • System.Data.SqlClient.SqlServer
  • System.Data.SqlClient.InProcess
  • System.Data.SqlClient.InProc

Pablo Castro'nun weblog yazısı: http://blogs.msdn.com/dataaccess/archive/2005/03/22/400459.aspx



İlişkili yazılar

Yorumlar kapalı.