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 算力,解读结果公开显示在下面。
还没有人解读过这个文件。