Sun*_*nny 10 servicestack dapper ormlite-servicestack
目前,我正在使用OrmLite进行数据库操作.我也打算使用Dapper ORM,但任何人都可以指出我如何在ServiceStack中集成DapperORM.我是否需要将Dapper和插件的IDbConnection和IDbConnectionFactory接口实现到容器中.
public override void Configure(Container container) {
container.Register<IDbConnectionFactory>(
c => new OrmLiteConnectionFactory(ConfigurationManager.ConnectionStrings["default"].ConnectionString,
SqlServerDialect.Provider));
container.Register<IDbConnection>(c => c.Resolve<IDbConnectionFactory>().OpenDbConnection()).ReusedWithin(ReuseScope.Request);
}
Run Code Online (Sandbox Code Playgroud)
myt*_*thz 10
Dapper的工作方式与OrmLite类似,因为它们都是基础ADO.NET System.Data.* IDbConnection接口的扩展方法.这意味着你可以将它们一起在同时使用的IDbConnection从OrmLite的IDbConnectionFactory检索.
OrmLite 在命名空间下的ServiceStack.OrmLite中包含最新版本的Dapper ServiceStack.OrmLite.Dapper.
在ServiceStack的v3.9.40中,这个嵌入式版本的Dapper将其API更改为包含"Dapper"后缀,以避免与同名的OrmLite方法发生冲突.您不必注册Request-Scoped IDbConnection,因为ServiceStack的默认Service类已经为您从IDbConnectionFactory中检索它.
鉴于此,您可以在此处访问ServiceStack服务中的Dapper ORM API:
public class MyService : Service
{
public object Any(Request request)
{
base.Db.QueryDapper(...);
base.Db.QueryMultipleDapper(...);
base.Db.MultiMapDapper(...);
base.Db.ExecuteDapper(...);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2483 次 |
| 最近记录: |