欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-03-20 12:15:02
.Net平台下兼容.NET Standard 2.0,一个实现以Lambda表达式转转换标准SQL语句,支持MySQL、SQL Server数据库方言,使用强类型操作数据的轻量级ORM工具,在减少魔法字串同时,通过灵活的Lambda表达式组合,实现业务数据查询的多样性。 如果想找到替代EF方案,Sq... ......

.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");