轻量ORM-SqlRepoEx (十七)SqlRepoEx 2.30 版本更新说明

.Net平台下兼容.NET Standard 2.0,一个实现以Lambda表达式转转换标准SQL语句,支持MySQLSQL 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");

 

posted @ 2019-04-30 10:21 a.thinker 阅读(...) 评论(...) 编辑 收藏