ServiceStack:多数据库源支持

ServiceStack开发中,在AppHost里定义了数据库的连接,可以在Service中直接进行使用,这是单个数据源的方便,假如有多个数据库的连接呢,这就需要定义了,并且在Service中使用属性进行区分。
多个数据源是在AppHost中进行添加定义,按照名称,进行数据源的区别,当然默认的数据源还是需要有的。

//根据连接字符串,添加默认的数据源,数据源为sqlserver
var connStr = appSettings.GetString("sqlcon");
container.Register<IDbConnectionFactory>(c => new OrmLiteConnectionFactory(connStr, SqlServerDialect.Provider));
//找到系统中全局的数据源工厂
var dbFactory = container.Resolve<IDbConnectionFactory>() as OrmLiteConnectionFactory;

找到数据源工厂后,就可以添加新的数据库源了。

//使用新的数据库连接字符串
connStr = appSettings.GetString("custompsconinfo");
//注册一个新的数据源,数据源的名称为custompsconinfo
dbFactory.RegisterConnection("custompsconinfo", connStr, SqlServerDialect.Provider);

按照以上的步骤,数据源就添加完成了,对于服务中的默认数据源,不需要添加别的,要是使用名称为custompsconinfo的数据源,就需要在Service上添加属性头。

[ConnectionInfo(NamedConnection = "custompsconinfo")]
public class SourceService : Service

添加这个数据头后,服务中使用的数据库,就是custompsconinfo的连接信息。

更多文章请关注公众号
在这里插入图片描述

发布了135 篇原创文章 · 获赞 9 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/wclwksn2019/article/details/104213154