| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- using Abp.Dependency;
- using Abp.Domain.Repositories;
- using Abp.EntityFrameworkCore.Repositories;
- using Microsoft.EntityFrameworkCore;
- using VberZero.BaseSystem.Roles;
- using VberZero.Data;
- using VberZero.DomainService;
- using VberZero.DomainService.Sqls;
- namespace VberAdmin.DomainService.Sqls;
- public class SqlManager : VzDomainServiceBase, ISqlManager, ISingletonDependency
- {
- public SqlManager(IRepository<Role> repository)
- {
- Repository = repository;
- }
- private IRepository<Role> Repository { get; }
- /// <summary>
- /// 执行给定的命令
- /// </summary>
- /// <param name="sql">命令字符串</param>
- /// <param name="parameters">要应用于命令字符串的参数</param>
- /// <returns>执行命令后由数据库返回的结果</returns>
- public int Execute(string sql, params object[] parameters)
- {
- return Repository.GetDbContext().Database.ExecuteSqlRaw(sql, parameters);
- }
- public async Task<int> ExecuteAsync(string sql, params object[] parameters)
- {
- return await Repository.GetDbContext().Database.ExecuteSqlRawAsync(sql, parameters);
- }
- /// <summary>
- /// 创建一个原始 SQL 查询,该查询将返回给定泛型类型的元素。
- /// </summary>
- /// <typeparam name="T">查询所返回对象的类型</typeparam>
- /// <param name="sql">SQL 查询字符串</param>
- /// <param name="parameters">要应用于 SQL 查询字符串的参数</param>
- /// <returns></returns>
- public List<T> SqlQuery<T>(string sql, params object[] parameters) where T : class, new()
- {
- return Repository.GetDbContext().Database.SqlQuery<T>(sql, parameters).ToList();
- }
- public async Task<List<T>> SqlQueryAsync<T>(string sql, params object[] parameters) where T : class, new()
- {
- var result = Repository.GetDbContext().Database.SqlQuery<T>(sql, parameters).ToList();
- return await Task.FromResult(result);
- }
- }
|