Читая документацию для ORMLite, говорится, что нужно зарегистрировать фабрику соединений как одноэлементную, если вы используете контейнер IoC.
Это правильный синтаксис для ASPNET Core 2.0? Или мне следует использовать метод .addDBContext?
var dbConnectString = Configuration["DBConnectString"];
var userName = Configuration["DBUserId"];
dbConnectString = dbConnectString.Replace("{your_username}", $"\'{userName}\'");
var password = Configuration["DBPassword"];
dbConnectString = dbConnectString.Replace("{your_password}", $"\'{password}\'");
var dbFactory = new OrmLiteConnectionFactory(dbConnectString,SqlServerDialect.Provider);
services.AddSingleton(dbFactory);
AddDbContext
используется для Entity Framework Core. Не используйте этого парня, если вы не используете EF.
Мой метод таков:
services.AddSingleton(IDbConnectionFactory)
в классе Startup
. Пример: https://github.com/afmorris/MorrisPhotos/blob/master/MorrisPhotos.Web/Startup.cs#L25ServiceStackController
. Пример: https://github.com/afmorris/MorrisPhotos/blob/master/MorrisPhotos.Web/Controllers/HomeController.cs#L15IDbConnection
через свойство Db
в вашем контроллере. Пример: https://github.com/afmorris/MorrisPhotos/blob/master/MorrisPhotos.Web/Controllers/HomeController.cs#L26