FreeSql
支持?jǐn)?shù)據(jù)庫(kù)讀寫分離,本功能是客戶端的讀寫分離行為,數(shù)據(jù)庫(kù)服務(wù)器該怎么配置仍然那樣配置,不受本功能影響,為了方便描術(shù)后面講到的【讀寫分離】都是指客戶端的功能支持。
各種數(shù)據(jù)庫(kù)的讀寫方案不一,數(shù)據(jù)庫(kù)端開啟讀寫分離功能后,讀寫分離的實(shí)現(xiàn)大致分為以下幾種:
1、nginx代理,配置繁瑣且容易出錯(cuò);
2、中件間,如MyCat;
3、在client端支持;
FreeSql 實(shí)現(xiàn)了第3種方案,支持一個(gè)【主庫(kù)】多個(gè)【從庫(kù)】,【從庫(kù)】的查詢策略為隨機(jī)方式。
若某【從庫(kù)】發(fā)生故障,將切換到其他可用【從庫(kù)】,若已全部不可用則使用【主庫(kù)】查詢。
出現(xiàn)故障【從庫(kù)】被隔離起來(lái)間隔性的檢查可用狀態(tài),以待恢復(fù)。
var connstr = "Data Source=127.0.0.1;Port=3306;User ID=root;Password=root;" +
"Initial Catalog=cccddd;Charset=utf8;SslMode=none;Max pool size=10"; IFreeSql
fsql = new FreeSql.FreeSqlBuilder()
.UseConnectionString(FreeSql.DataType.MySql, connstr)
.UseSlave("connectionString1", "connectionString2") //使用從數(shù)據(jù)庫(kù),支持多個(gè) .Build();
select.Where(a => a.Id == 1).ToOne(); //讀【從庫(kù)】(默認(rèn)) select.Master().WhereId(a =>
a.Id == 1).ToOne(); //強(qiáng)制讀【主庫(kù)】
系列文章導(dǎo)航
*
(一)入門 <https://www.cnblogs.com/FreeSql/p/11531300.html>
*
(二)自動(dòng)遷移實(shí)體 <https://www.cnblogs.com/FreeSql/p/11531301.html>
*
(三)實(shí)體特性 <https://www.cnblogs.com/FreeSql/p/11531302.html>
*
(四)實(shí)體特性 Fluent Api <https://www.cnblogs.com/FreeSql/p/11531304.html>
*
(五)插入數(shù)據(jù) <https://www.cnblogs.com/FreeSql/p/11531306.html>
*
(六)批量插入數(shù)據(jù) <https://www.cnblogs.com/FreeSql/p/11531309.html>
*
(七)插入數(shù)據(jù)時(shí)忽略列 <https://www.cnblogs.com/FreeSql/p/11531316.html>
*
(八)插入數(shù)據(jù)時(shí)指定列 <https://www.cnblogs.com/FreeSql/p/11531318.html>
*
(九)刪除數(shù)據(jù) <https://www.cnblogs.com/FreeSql/p/11531320.html>
*
(十)更新數(shù)據(jù) <https://www.cnblogs.com/FreeSql/p/11531321.html>
*
(十一)更新數(shù)據(jù) Where <https://www.cnblogs.com/FreeSql/p/11531324.html>
*
(十二)更新數(shù)據(jù)時(shí)指定列 <https://www.cnblogs.com/FreeSql/p/11531327.html>
*
(十三)更新數(shù)據(jù)時(shí)忽略列 <https://www.cnblogs.com/FreeSql/p/11531334.html>
*
(十四)批量更新數(shù)據(jù) <https://www.cnblogs.com/FreeSql/p/11531335.html>
*
(十五)查詢數(shù)據(jù) <https://www.cnblogs.com/FreeSql/p/11531339.html>
*
(十六)分頁(yè)查詢 <https://www.cnblogs.com/FreeSql/p/11531341.html>
*
(十七)聯(lián)表查詢 <https://www.cnblogs.com/FreeSql/p/11531346.html>
*
(十八)導(dǎo)航屬性 <https://www.cnblogs.com/FreeSql/p/11531352.html>
*
(十九)多表查詢 <https://www.cnblogs.com/FreeSql/p/11531362.html>
*
(二十)多表查詢 WhereCascade <https://www.cnblogs.com/FreeSql/p/11531372.html>
*
(二十一)查詢返回?cái)?shù)據(jù) <https://www.cnblogs.com/FreeSql/p/11531376.html>
*
(二十二)Dto 映射查詢 <https://www.cnblogs.com/FreeSql/p/11531381.html>
*
(二十三)分組、聚合 <https://www.cnblogs.com/FreeSql/p/11531384.html>
*
(二十四)Linq To Sql 語(yǔ)法使用介紹 <https://www.cnblogs.com/FreeSql/p/11531392.html>
*
(二十五)延時(shí)加載 <https://www.cnblogs.com/FreeSql/p/11531395.html>
*
(二十六)貪婪加載 Include、IncludeMany、Dto、ToList
<https://www.cnblogs.com/FreeSql/p/11531404.html>
*
(二十七)將已寫好的 SQL 語(yǔ)句,與實(shí)體類映射進(jìn)行二次查詢
<https://www.cnblogs.com/FreeSql/p/11531416.html>
*
(二十八)事務(wù) <https://www.cnblogs.com/FreeSql/p/11531423.html>
*
(二十九)Lambda 表達(dá)式 <https://www.cnblogs.com/FreeSql/p/11531425.html>
*
(三十)讀寫分離
*
(三十一)分區(qū)分表 <https://www.cnblogs.com/FreeSql/p/11531435.html>
*
(三十二)Aop <https://www.cnblogs.com/FreeSql/p/11531471.html>
*
(三十三)CodeFirst 類型映射 <https://www.cnblogs.com/FreeSql/p/11531543.html>
*
(三十四)CodeFirst 遷移說(shuō)明 <https://www.cnblogs.com/FreeSql/p/11531550.html>
*
(三十五)CodeFirst 自定義特性 <https://www.cnblogs.com/FreeSql/p/11531576.html>
熱門工具 換一換
