日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
LinqtoSQL支持SQLServer

話說Linq to SQL支持SQL Server等多種數(shù)據(jù)庫的,而且應(yīng)該支持多種數(shù)據(jù)庫,到最后卻落的這個局面,是為了商業(yè)考慮還是本來技術(shù)就不成熟?不得而知。不過不管怎么說Linq to SQL的體系結(jié)構(gòu)確實是支持擴展的。

坡頭ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!

在System.Data.Linq.Mapping這個命名空間下微軟提供了一個特性:ProviderAttribute,使用強類型的DataContext或使用Xml做映射的時候,該特性可以用來指定具體的數(shù)據(jù)庫提供者。如下:

 
 
 
  1. [Database(“dbo.cnblogs”)]  
  2. [Provider(typeof(SqlProvider))]  
  3. Public CnBlogDataContext : DataContext  
  4. {  

這就表明我們的Linq to SQL支持SQL Server數(shù)據(jù)庫了,SqlProvider是實現(xiàn)了IProvider接口的(該接口存在于System.Data.Linq.Provider命名空間下)。

在DataContext初始化時執(zhí)行的Init方法里有這樣幾行代碼:

 
 
 
  1. if (model.ProviderType == null)  
  2. {  
  3. throw Error.ProviderTypeNull();  
  4. }  
  5. Type providerType = model.ProviderType;  
  6. if (!typeof(IProvider).IsAssignableFrom(providerType))  
  7. {  
  8. throw Error.ProviderDoesNotImplementRequiredInterface(providerType,  
  9. typeof(IProvider));  
  10. }  
  11. this.provider = (IProvider) Activator.CreateInstance(providerType);  
  12. this.provider.Initialize(this.services, connection); 

請注意的是,實際的Linq to SQL支持SQL Server,所以類圖描述的關(guān)系并不存在,但是我們從代碼中完全可以想象的到即使要擴展也是很容易的,這就是架構(gòu)的力量,即使是昨天的設(shè)計也能應(yīng)付明天的變化。

關(guān)于Provider的初始化就介紹到這里了,在文章末尾的源代碼下載里提供了IProvider類和SqlProvider類,你可以看看初始化的過程,并想想如何構(gòu)建一個可擴展的架構(gòu)。


文章名稱:LinqtoSQL支持SQLServer
標題路徑:http://www.5511xx.com/article/djoiijp.html