.Net平臺下相容.NET Standard 2.0,一個實現以Lambda表達式轉轉換標準SQL語句,支持MySQL、SQL Server資料庫方言,使用強類型操作數據的輕量級ORM工具,在減少魔法字串同時,通過靈活的Lambda表達式組合,實現業務數據查詢的多樣性。 如果想找到替代EF方案,Sq... ...
.Net平臺下相容.NET Standard 2.0,一個實現以Lambda表達式轉轉換標準SQL語句,支持MySQL、SQL Server資料庫方言,使用強類型操作數據的輕量級ORM工具,在減少魔法字串同時,通過靈活的Lambda表達式組合,實現業務數據查詢的多樣性。
如果想找到替代EF方案,SqlRepoEx是比較好的選擇。
SqlRepoEx已經應用於多個商業項目,通過商業應用,修正應用過程中出現的bug,同時,由於商業應用場景的複雜性,新增了部分新的功能。
SqlRepoEx升級為2.30,此次升級主要變更為同型分佈資料庫的支持;
應用場景:
當數據位於多個資料庫中時,
string test1= "datasource=127.0.0.1;username=test;password=test;database=testdb1;charset=gb2312;SslMode=none;"; string test2= "datasource=127.0.0.1;username=test;password=test;database=testdb2;charset=gb2312;SslMode=none;"; Dictionary<string, string> conkeys = new Dictionary<string, string>(); conkeys.Add("Default", test1); conkeys.Add("test2", test2);
對於asp.core 使用
services.AddDapperSimpleSqlRepo(conkeys);
對於應用靜態工廠時
var connectionProvider = new ConnectionStringConnectionProvider(conkeys);
MySqlRepoFactory.UseConnectionProvider(connectionProvider);
當使用預設構造器實例倉儲時,系統使用的是key 為”Default” 指定的連接,如果指定了連接的Key 實例會使用指定的連接字串來連接資料庫,但key不存時,系統會用key 為”Default” 指定的連接字串來連接資料庫。
另外,當初始化中沒有指定key 為”Default”,系統會使用第一個資料庫字串來增加一個(如果指定有兩個,那麼初始完成後就有三個)
如:
conkeys.Add("test1", test1);
conkeys.Add("test2", test2);
系統會預設增加一個
conkeys.Add("Default", test1);
如下,訪問的是上面設置的 key 為 test2的資料庫
var repository11 = MySqlRepoFactory.Create<Customer>("test2");