Farseer.net輕量級ORM開源框架 V1.x 入門篇:數據庫配置文件

導航

目   錄:Farseer.net輕量級ORM開源框架 目錄html

上一篇:Farseer.net輕量級ORM開源框架 V1.x 入門篇:新版本說明數據庫

下一篇:Farseer.net輕量級ORM開源框架 V1.x 入門篇:數據庫上下文網絡

前言

  Farseer.Net是支持多數據庫的ORM,固然這是ORM的一個最基本的要求。app

  使用者經過配置文件Db.Config,可切換指定的數據庫而不須要修改項目中的任何代碼。(Db.Config配置文件是可配置列表(多個)數據庫的)框架

  本篇講述如何進行數據庫環境的配置。同時也講述其它配置文件的使用。工具

配置文件

一、配置文件的路徑:網站

  無論是WebForm、Mvc、WinForm,配置文件統一放在:~/App_Data/ 中。請你們勞記這個路徑。框架用到的全部配置文件的路徑都會放在這裏。spa

  

  配置文件不須要手動建立,框架在運行時,會查找這個目錄下的文件,不存在會自動建立它。.net

 

二、目前配置文件有:日誌

 
序號 管理類 名稱 配置路徑 項目 描述
1 DbConfigs 數據庫配置 Db.Config Farseer.Net 數據庫環境配置,支持多個數據庫的配置
2 SystemConfigs 系統配置 System.Config 系統環境配置,好比是否生成SQL日誌
3 ExceptionEmailConfigs 異常郵件配置 ExceptionEmail.Config 當System.Config設置了異常通知時,會找到該郵件配置進行發送郵件
4 SqlMapConfigs SQL腳本配置化 SqlMap.Config 容許客戶端將SQL腳本寫在該配置中,經過SqlSet進行執行(自動映射)
5 EmailConfigs 郵件配置 Email.Config Farseer.Net.Utils 郵件發送配置,支持多個郵件的配置
6 WebConfigs 網站配置 Web.Config Farseer.Net.Utils.Web 網站的基礎配置,如上傳保存的路徑、網站Cookies域名稱
7 WebRewriterConfigs Url重寫配置 WebRewriter.Config 網站URL地址重寫配置,支持多個地址配置
8 WebSystemConfigs 網站系統配置 WebSystem.Config 網站系統配置,如Session、Cookies的保存時間、前綴等

 

三、配置文件的動態管理:

  以上配置文件的對應管理類,統一放在:命名空間:FS.Configs中。

  其中FS.Utils.AbsConfigs.cs是全部配置文件的基類,配置文件經過:序列化、反序列化進行持久化管理。

  你們無需關心它們是如何運行的。只要知道這些配置文件被持久化到~/App_Data/中便可。

  要修改他們時,只須要修改這個路徑的物理文件便可,而不須要去修改他們的管理類。

  若是你須要經過程序來讀取這些配置文件,而在程序中使用時能夠經過   類名.ConfigEntity.屬性  來獲取它們。  

  好比獲取數據庫配置文件的數據庫類型的讀取操做是:

1 DbConfigs.ConfigEntity.DbList[0].DataType

  DbConfigs.ConfigEntity獲得的是整個數據庫配置文件的配置

  DbList[0]是指數據庫配置的第1項。(由於是支持(多個)列表數據庫配置的,一個項目中,數據庫有多是多個的)

  同時咱們也能夠經過程序來動態的修改被保存它們:

1 DbConfigs.SaveConfig(new DbConfig());
數據庫配置

 四、重點講述數據庫的配置Db.Config:

 1     /// <summary> 數據庫鏈接配置 </summary>
 2     public class DbInfo
 3     {
 4         /// <summary> 數據庫鏈接串 </summary>
 5         public string Server = ".";
 6         /// <summary> 數據庫賬號 </summary>
 7         public string UserID = "sa";
 8         /// <summary> 數據庫密碼 </summary>
 9         public string PassWord = "123456";
10         /// <summary> 端口號 </summary>
11         public string Port = "1433";
12         /// <summary> 數據庫類型 </summary>
13         public DataBaseType DataType = DataBaseType.SqlServer;
14         /// <summary> 數據庫版本 </summary>
15         public string DataVer = "2008";
16         /// <summary> 數據庫目錄 </summary>
17         public string Catalog = "數據庫名稱";
18         /// <summary> 最小鏈接池 </summary>
19         public int PoolMinSize = 0;
20         /// <summary> 最大鏈接池 </summary>
21         public int PoolMaxSize = 0;
22         /// <summary> 數據庫鏈接時間限制,單位秒 </summary>
23         public int ConnectTimeout = 30;
24         /// <summary> 數據庫執行時間限制,單位秒 </summary>
25         public int CommandTimeout = 30;
26     }

經過DataType屬性來決定是用哪一種數據庫類型,目前支持的數據庫類型有以下:

  • DataType = DataBaseType.SqlServer;
  • DataType = DataBaseType.OleDb;
  • DataType = DataBaseType.MySql;
  • DataType = DataBaseType.SQLite;
  • DataType = DataBaseType.Oracle;

 

五、用一個列表描述全部數據庫配置:

 
序號 數據庫 Server UserID PassWord Port DataType DataVer Catalog PoolMinSize PoolMaxSize ConnectTimeout CommandTimeout 描述
1 SqlServer

數據庫IP

數據庫帳號

沒有則不填

數據庫密碼

沒有則不填

數據庫端口

默承認不填

SqlServer

2000

2005

2008

數據庫名稱

最小鏈接池

默承認不填

最大鏈接池

默承認不填

數據庫鏈接時間,單位秒

默承認不填

數據庫執行時間,單位秒

默承認不填

 MSSQL,.net經常使用的數據庫
2 OleDb 文件名稱 OleDb

3.0

4.0

5.0

95

97

2003

2007+

 不填 支持Access/Excel等Oledb類型
3 MySql 數據庫IP MySql 不填   數據庫名稱 使用這個數據庫時須要把MySql.Data.dll驅動放到/Bin/中
4 SQLite  文件名稱 SQLite 不填   不填  使用這個數據庫時須要把System.Data.SQLite.dll驅動放到/Bin/中
5 Oracle 數據庫IP Oracle 不填   SID名稱  Oracle你們夥,想吃內存就靠它了。

  其中,在Server處,若是數據庫是非網絡類型的,如:SQLite、Oledb這種單機數據庫(桌面數據庫)時,填寫的是數據庫的文件名稱。文件路徑存放在:~/App_Data/中。

  好比在SQLite數據庫存放在~/App_Data/user.db。在Server填寫的則是:user.db便可。框架默認會在~/App_Data/進行查找是否有該數據庫。

配置文件的例子
 1 <?xml version="1.0"?>
 2 <DbConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
 3   <DbList>
 4     <DbInfo>
 5       <Server>.</Server>
 6       <DataType>SqlServer</DataType>
 7       <DataVer>2008</DataVer>
 8       <Catalog>Farseer</Catalog>
 9       <PoolMinSize>16</PoolMinSize>
10       <PoolMaxSize>100</PoolMaxSize>
11       <ConnectTimeout>30</ConnectTimeout>
12       <CommandTimeout>60</CommandTimeout>
13     </DbInfo>
14     <DbInfo>
15       <Server>User.db</Server>
16       <DataType>SQLite</DataType>
17       <PoolMinSize>16</PoolMinSize>
18       <PoolMaxSize>100</PoolMaxSize>
19       <ConnectTimeout>30</ConnectTimeout>
20       <CommandTimeout>60</CommandTimeout>
21     </DbInfo>
22   </DbList>
23 </DbConfig>

上面的XML文件,就是在~/App_Data/Db.Config中的。你們經過上面的介紹,可自行根據項目狀況進行配置。

總結

  好了,本篇文章講解到這,告訴了你們如何配置數據庫、及SQL的日誌分析。

  在下一篇中,會講述數據庫上下文(DbContext)映射如何綁定到這個數據庫配置文件中來。(配置文件可同時配置多個數據庫,或動態配置它們)

導航

目   錄:Farseer.net輕量級ORM開源框架 目錄

上一篇:Farseer.net輕量級ORM開源框架 V1.x 入門篇:新版本說明

下一篇:Farseer.net輕量級ORM開源框架 V1.x 入門篇:數據庫上下文

廣告時間

QQ羣:116228666 (Farseer.net開源框架交流) 請註明:Farseer.Net

Farseer.Net是一款ORM框架 + 經常使用工具 + 擴展集合。

Farseer 寓意:先知、預言家 一般在某些場合時,提供計謀、策略。也但願該框架能給你們提供最大化的便捷。

ORM:其英文全稱是:Object(對象) Relational(關係) Mapping(映射)

Farseer.Net的目標是:快速上手、快速開發、簡單方便。

1 Table.Data.User.Where(o=>o.ID == 1).ToEntity();
2 Table.Data.User.Where(o=>o.ID > 1).ToList();
3 Table.Data.User.Where(o=>o.ID != 0).Delete();
4 Table.Data.User.Where(o=>o.ID != 0).AddUp(o=>o.LoginCount, 1);
5 Table.Data.User.Where(o=>o.ID == 1).Update(new User{ UserName = "newName" });
6 Table.Data.User.Insert(new User{ UserName = "newName" });
相關文章
相關標籤/搜索