LinqToDB框架是一個輕量級的ORM框架。當(dāng)然,功能上來講一定比不上Entity Framework的強大。但是在使用上總讓筆者感覺有一點Entity Framework的影子。筆者想過可能的原因有倆點:一是DataContext類的作用跟DbContext的作用很接近;二是都實現(xiàn)Linq查詢的功能。那么DataContext類到底在LinqToDB框架里面算什么呢?筆者把DataContext類理解為這個框架的上下文——用于驅(qū)動整個LinqToDB框架。所以本章也是為DataContext類而來。

框架配置


 從源碼里面我們可以看到DataContext類有三個構(gòu)造函數(shù)。筆者也是根據(jù)這三個構(gòu)造函數(shù)來推斷出LinqToDB框架可存在多種啟動方式。這里面最大的亮點不是構(gòu)造函數(shù)而是他的參數(shù)名。如下代碼。

public DataContext(): this(DataConnection.DefaultConfiguration); public DataContext(string configurationString); public DataContext(IDataProvider dataProvider,string connectionString);

上面代碼有倆個參數(shù)名很重要——configurationString和connectionString。如果把他們都譯過來的話,就是配置字符串和連接字符串。相信不難看出configurationString就是跟配置文件畫上關(guān)系。而connectionString就是傳入連接字符串的意思。本質(zhì)來講實現(xiàn)DataContext類只有倆種方式:一種是通過配置文件(如App.config)來實現(xiàn);一種是用IDataProvider接口實例和連接字符串來實現(xiàn)。如果你什么也不傳的話,就會使用默認的配置信息來實現(xiàn)。

LinqToDB框架根據(jù).NET配置機制實現(xiàn)自定義配置。跟配置有關(guān)系的類都存放在LinqToDB.Configuration命名空間下。如果要實現(xiàn).NET配置機制的話,就必須要有一個實現(xiàn)ConfigurationSection的類。LinqToDBSection類就是要我們要找的類了。作者用單例模式來設(shè)計LinqToDBSection類。相信大家都能明白作者的目地。那么LinqToDB框架是什么時候加載配置信息的呢?

我想了解如何學(xué)習(xí)

姓名:
手機:
留言: