ORMLite 与 ASPNET Core 2.0 的正确用法是什么?
What is the correct usage of ORMLite with ASPNET Core 2.0?
阅读 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 核心。如果你不使用 EF,请不要使用那个人。
我的方法如下:
services.AddSingleton(IDbConnectionFactory)
在Startup
class。示例:https://github.com/afmorris/MorrisPhotos/blob/master/MorrisPhotos.Web/Startup.cs#L25
- 如果您在控制器方法中使用数据访问,请使控制器继承自
ServiceStackController
。示例:https://github.com/afmorris/MorrisPhotos/blob/master/MorrisPhotos.Web/Controllers/HomeController.cs#L15
- 通过控制器中的
Db
属性 访问 IDbConnection
。示例:https://github.com/afmorris/MorrisPhotos/blob/master/MorrisPhotos.Web/Controllers/HomeController.cs#L26
阅读 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 核心。如果你不使用 EF,请不要使用那个人。
我的方法如下:
services.AddSingleton(IDbConnectionFactory)
在Startup
class。示例:https://github.com/afmorris/MorrisPhotos/blob/master/MorrisPhotos.Web/Startup.cs#L25- 如果您在控制器方法中使用数据访问,请使控制器继承自
ServiceStackController
。示例:https://github.com/afmorris/MorrisPhotos/blob/master/MorrisPhotos.Web/Controllers/HomeController.cs#L15 - 通过控制器中的
Db
属性 访问IDbConnection
。示例:https://github.com/afmorris/MorrisPhotos/blob/master/MorrisPhotos.Web/Controllers/HomeController.cs#L26