src/sample/XXX.Plugin.FreeSql/Service/FreeSQLDemoService .cs

(开头部分) 17KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using FreeSql.Internal.Model;
using System.Globalization;
using System.Numerics;
using System.Security.Cryptography;
using System.Text;

namespace XXX.Plugin.FreeSql
{
    public interface IFreeSQLDemoByDependency
    {
        Task<int> DeleteAsync(uint id, string dbKey = "sqlite");
        Task<string> GenerateSqlByLinq(DynamicFilterInfo dyfilter, SearchPageBase searchPageBase, string dbKey = "sqlite");
        Task<PagedList<User>> GraphQLAsync(DynamicFilterInfo dyfilter, SearchPageBase searchPageBase, string dbKey = "sqlite");
        Task<int> InsertAsync(UserInsertAo userInsertAo, string dbKey = "sqlite");
        Task<User> GetList(string dbKey = "sqlite");
        Task<string> MultiFreeSqlAsync(string dbKey = "sqlite");
        Task<PagedList<User>> SearchJoinAsync(UserSearchAo search, string dbKey = "sqlite");
        bool Transaction(string dbKey = "sqlite");
        Task<int> UpdateAsync(UserUpdateAo user, string dbKey = "sqlite");
        Task<int> UpdatePatchAsync(uint id, uint age, string dbKey = "sqlite");
    }

    /// <summary>
    /// Freesql示例服务
    /// reference: https://github.com/dotnetcore/FreeSql/wiki/入门
    /// </summary>
    public class FreeSQLDemoByDependency : IFreeSQLDemoByDependency, IScopedDependency//通过继承注入接口实现依赖注入
    {
        private readonly ILogger<FreeSQLDemoByDependency> _logger;
        //private readonly IFreeSql _fsql;
        private readonly IdleBus<IFreeSql> _fsql;
        private readonly IMapper _mapper;

        /// <summary>
        /// 
        /// </summary>
        /// <param name="logger"></param>
        /// <param name="fsql"></param>
        /// <param name="idleFsql"></param>
        /// <param name="mapper"></param>
        public FreeSQLDemoByDependency(ILogger<FreeSQLDemoByDependency> logger
            //, IFreeSql fsql
            , IdleBus<IFreeSql> idleFsql
            , IMapper mapper)
        {
            _logger = logger;
            //_fsql = fsql;
            _fsql = idleFsql;
            _mapper = mapper;
        }

        /// <summary>
        /// 多库操作示例(切换数据库)
        /// <param name="dbKey">数据库实例别名</param>
        /// </summary>
        /// <returns></returns>
        public async Task<string> MultiFreeSqlAsync(string dbKey = "sqlite")
        {
            //将当前库sqlite切换到mysql实例上,本方法后续操作都是基于"mysql"实例的操作
            var freesql = _fsql.Get(dbKey);
后面还有 354 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。