服务堆栈多租户

Servicestack MultiTenancy

我安装了 ServiceStack v4.0.60,我正在按照以下方式在 AppHost 配置中寻找 ChangeDb:

container.Register<IDbConnectionFactory>(c => 
    new OrmLiteConnectionFactory(defaultDbConn, SqlServer2012Dialect.Provider));

var dbFactory = container.Resolve<IDbConnectionFactory>();

//Register NamedConnection
dbFactory.RegisterConnection("Reporting", ReportConnString, PostgreSqlDialect.Provider);

//Register DialectProvider
dbFactory.RegisterDialectProvider("Sqlite", SqliteDialect.Provider);

但是 Visual Studio 告诉我 'RegisterConnection' 和 'RegisterDialectProvider' 不是 IDbConnectionFactory 的一部分。我错过了什么?

它不是 IDbConnectionFactory 的一部分,但它在 OrmLiteConnectionFactory 上,因此您需要引用具体类型,例如:

var dbFactory = new OrmLiteConnectionFactory(defaultDbConn, SqlServer2012Dialect.Provider);
container.Register<IDbConnectionFactory>(dbFactory);

//Register NamedConnection
dbFactory.RegisterConnection("Reporting", ReportConnString, PostgreSqlDialect.Provider);

//Register DialectProvider
dbFactory.RegisterDialectProvider("Sqlite", SqliteDialect.Provider);