执行sql方法

This commit is contained in:
chenchun
2022-04-14 20:44:28 +08:00
parent d780529313
commit 3ed42384af
4 changed files with 47 additions and 4 deletions

View File

@@ -57,6 +57,12 @@
</summary> </summary>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Yi.Framework.ApiMicroservice.Controllers.TestController.SqlTest">
<summary>
执行sql返回对应Dto
</summary>
<returns></returns>
</member>
<member name="M:Yi.Framework.ApiMicroservice.Controllers.TestController.LocalTest"> <member name="M:Yi.Framework.ApiMicroservice.Controllers.TestController.LocalTest">
<summary> <summary>
国际化测试 国际化测试

View File

@@ -36,22 +36,22 @@ namespace Yi.Framework.ApiMicroservice.Controllers
/// <returns></returns> /// <returns></returns>
[HttpGet] [HttpGet]
// 特点:化繁为简!意框架仓储代理上下文对象,用起来就是爽,但最好按规范来爽! // 特点:化繁为简!意框架仓储代理上下文对象,用起来就是爽,但最好按规范来爽!
// 规范:控制器建议不要使用切换仓储方法控制器严禁使用DB上下文对象其它怎么爽怎么来 // 规范:控制器严禁使用切换仓储方法控制器严禁使用DB上下文对象其它怎么爽怎么来
public async Task<Result> DbTest() public async Task<Result> DbTest()
{ {
//非常好使用UserService的特有方法 //非常好使用UserService的特有方法
await _iUserService.DbTest(); await _iUserService.DbTest();
//非常好依赖注入使用其他Service的特有方法(就tm一张表自己注入自己) //非常好依赖注入使用其他Service的特有方法(就tm一张表现在自己注入自己)
await _iUserService.DbTest(); await _iUserService.DbTest();
//很核理,使用仓储的通用方法 //很核理,使用仓储的通用方法
await _iUserService._repository.GetListAsync(); await _iUserService._repository.GetListAsync();
//挺不错,依赖注入其他仓储(就tm一张表自己注入自己) //挺不错,依赖注入其他仓储(就tm一张表现在自己注入自己)
await _iUserService._repository.GetListAsync(); await _iUserService._repository.GetListAsync();
//不建议,但爽了再说,直接切换其他仓储(就tm一张表自己切换自己) //严禁操作,直接切换其他仓储(就tm一张表现在自己切换自己)
await _iUserService._repository.ChangeRepository<Repository<UserEntity>>().GetListAsync(); await _iUserService._repository.ChangeRepository<Repository<UserEntity>>().GetListAsync();
//恭喜你已经毕业了!此后将有一天,接手到这个的软件的程序员将破口大骂。 //恭喜你已经毕业了!此后将有一天,接手到这个的软件的程序员将破口大骂。
@@ -60,6 +60,17 @@ namespace Yi.Framework.ApiMicroservice.Controllers
return Result.Success().SetData(await _iUserService.DbTest()); return Result.Success().SetData(await _iUserService.DbTest());
} }
/// <summary>
/// 执行Sql返回对应Dto
/// </summary>
/// <returns></returns>
[HttpGet]
//简单语句不推荐!
public async Task<Result> SqlTest()
{
return Result.Success().SetData(await _iUserService._repository.UseSqlAsync<UserEntity>("select * from User"));
}
/// <summary> /// <summary>
/// 国际化测试 /// 国际化测试
/// </summary> /// </summary>

View File

@@ -21,5 +21,8 @@ namespace Yi.Framework.Repository
public Task<List<T>> GetListAsync(QueryCondition pars); public Task<List<T>> GetListAsync(QueryCondition pars);
public Task<bool> DeleteByLogicAsync(List<long> ids); public Task<bool> DeleteByLogicAsync(List<long> ids);
public Task<bool> UpdateIgnoreNullAsync(T entity); public Task<bool> UpdateIgnoreNullAsync(T entity);
public Task<List<S>> UseSqlAsync<S>(string sql);
public Task<bool> UseSqlAsync(string sql);
} }
} }

View File

@@ -36,6 +36,29 @@ namespace Yi.Framework.Repository
} }
/// <summary>
/// 执行查询sql返回dto列表
/// </summary>
/// <typeparam name="S"></typeparam>
/// <param name="sql"></param>
/// <returns></returns>
public async Task<List<S>> UseSqlAsync<S>(string sql)
{
return await Db.Ado.SqlQueryAsync<S>(sql);
}
/// <summary>
/// 执行增删改sql返回状态
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public async Task<bool> UseSqlAsync(string sql)
{
return await Db.Ado.ExecuteCommandAsync(sql)>0;
}
/// <summary> /// <summary>
/// 添加返回实体 /// 添加返回实体