自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Linq to SQL支持SQL Server

開發(fā) 后端
這里介紹Linq to SQL支持SQL Server等多種數(shù)據(jù)庫的,而且應(yīng)該支持多種數(shù)據(jù)庫,到最后卻落的這個(gè)局面,是為了商業(yè)考慮還是本來技術(shù)就不成熟?

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

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

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

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

在DataContext初始化時(shí)執(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); 

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

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

【編輯推薦】

  1. LINQ查詢操作經(jīng)驗(yàn)總結(jié)
  2. LINQ遍歷多個(gè)數(shù)組深入剖析
  3. Linq查詢Access數(shù)據(jù)文件淺談
  4. LINQ構(gòu)建框架設(shè)計(jì)學(xué)習(xí)筆記
  5. LINQ重要組成部分簡介
責(zé)任編輯:佚名 來源: 博客園
相關(guān)推薦

2009-09-18 14:33:37

LINQ to SQLSQL命令

2009-09-07 16:25:14

Linq To SQL

2009-09-16 17:33:16

LINQ TO SQL

2009-09-08 13:16:01

Linq to SQL

2009-09-15 17:07:24

Linq To SQL

2009-09-18 14:51:19

LINQ TO SQL

2009-09-09 14:40:43

Linq to sql

2009-09-10 11:29:00

LINQ to SQL

2009-09-11 12:13:40

LINQ to SQL

2009-09-11 12:08:09

Linq to SQL

2009-09-18 13:23:27

Northwind對象LINQ to SQL

2009-09-08 13:07:15

介紹Linq to S

2009-09-18 16:41:46

Linq to sql

2009-09-07 17:09:45

Linq To Sql

2009-09-10 10:37:15

LINQ to SQL

2009-09-11 09:41:19

LINQ to SQL

2009-09-16 09:38:27

LINQ To SQL

2009-09-09 18:03:47

LINQ to SQL

2009-09-10 18:02:23

LINQ to SQL

2009-09-16 17:11:35

LINQ To SQL
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號