当前位置: 首页 > news >正文

抢车票网站怎么做百度app官网下载

抢车票网站怎么做,百度app官网下载,抖音搜索seo排名优化,2345传奇世界游戏介绍没有基础的,请参考上一篇 彩蛋到最后一张图里找 参考链接 结果直接上图,没有任何业务代码 启动后,已经有了基本的CRUD功能,还扩展了批量删除,与动态查询 动态查询截图,支持分页,排序 实现原理…

没有基础的,请参考上一篇

彩蛋到最后一张图里找

参考链接

结果直接上图,没有任何业务代码

启动后,已经有了基本的CRUD功能,还扩展了批量删除,与动态查询

动态查询截图,支持分页,排序

实现原理:

FreeSql导航参考官方地址

聚合根(实验室) | FreeSql 官方文档

继承IReadOnlyRepository接口,实现用FreeSql实现所有功能即可

关键CRUD代码

 //默认删除public Task DeleteAsync(TKey id, bool autoSave = false, CancellationToken cancellationToken = default){return FreeSql.Delete<T>(new { Id = id }).ExecuteAffrowsAsync(cancellationToken);}public Task DeleteDirectAsync(Expression<Func<T, bool>> predicate, CancellationToken cancellationToken = default){return FreeSql.Delete<T>().Where(predicate).ExecuteAffrowsAsync(cancellationToken);}//批量删除public Task DeleteManyAsync(IEnumerable<TKey> ids, bool autoSave = false, CancellationToken cancellationToken = default){return FreeSql.Delete<T>(ids).ExecuteAffrowsAsync(cancellationToken);}//默认Getpublic Task<T> GetAsync(TKey id, bool includeDetails = true, CancellationToken cancellationToken = default){object dywhere = new { Id = id };var query = FreeSql.GetAggregateRootRepository<T>().Select.WhereDynamic(dywhere);// FreeSql.Queryable<T>().WhereDynamic(dywhere);              FreeSqlHelper.SetNavigate(query);return query.ToOneAsync(cancellationToken);}//默认GetListpublic Task<IQueryable<T>> GetQueryableAsync(){ISelect<T> queryable;if (_httpContextAccessor.HttpContext.Request.Query.Any(q => q.Key == "Sorting")){string sorting = _httpContextAccessor.HttpContext.Request.Query["Sorting"];queryable = FreeSql.Queryable<T>().OrderBy(sorting);}else{queryable = FreeSql.Queryable<T>();}FreeSqlHelper.SetNavigate(queryable);return Task.FromResult(queryable.AsQueryable());}//默认Postpublic async Task<T> InsertAsync(T entity, bool autoSave = false, CancellationToken cancellationToken = default){SetEntity(entity);await FreeSql.GetAggregateRootRepository<T>().InsertAsync(entity,cancellationToken);return entity;}

FreeSqlHelper.cs代码

   public class FreeSqlHelper{/// <summary>/// 设置导航/// </summary>/// <typeparam name="T"></typeparam>/// <param name="query"></param>public static void SetNavigate<T>(FreeSql.ISelect<T> query) {var type= typeof(T);MemberInfo[] myMembers = type.GetProperties();foreach (MemberInfo myMember in myMembers){var navigateAttribute = myMember.GetCustomAttribute<FreeSql.DataAnnotations.NavigateAttribute>();if (navigateAttribute != null){query.IncludeByPropertyName(myMember.Name);}}}}

明细表id使用雪花漂移算法生成,引用Yitter.IdGenerator库(请自行nuget下载)

调用YitIdHelper.NextId()生成,没有数据库的自增字段功能,使用自增的问题很多

新增BaseCrudAppService类,代码直接从官方的CrudAppService里复制即可,利用批量替换,把CrudAppService替换为BaseCrudAppService

如图

新增FilterAsync与DeleteBulkAsync实现动态查询与批量删除功能

新增后的结果如图

freesql动态查询功能很强大,日期区间支持年,月,日期等,请参见下图示例说明

SearchCondition代码

    public class SearchCondition{/// <summary>/// 动态过滤条件/// </summary>public DynamicFilterInfo FilterInfo { get; set; }=new();/// <summary>/// 当前页/// </summary>public int CurrentPage { get; set; } = 1;/// <summary>/// 每页显示记录条数/// </summary>public int PageSize { get; set; } = 50;/// <summary>/// 排序/// </summary>public string Sorting { get; set; } = string.Empty;}

IBaseRepository代码如图,只是为了在BaseCrudAppService能获取到freesql

Enum实体类代码,由代码生成器生成

[Serializable]
[Table("TSYS_Enum")]
public class Enum : BaseAuditedAggregateRoot<Guid>
{/// <summary>/// 字典群组/// </summary>public int EnumGroup { get; set; }/// <summary>/// 字典类型/// </summary>public int EnumType { get; set; } = 1;/// <summary>/// 字典代码/// </summary>[StringLength(100)]public string EnumCode { get; set; }/// <summary>/// 说明/// </summary>[StringLength(100)]public string EnumDesc { get; set; }/// 备注/// </summary>[StringLength(500)]public string Remark { get; set; }/// <summary>/// 数据状态 0:未提交,1:审核中,2:已审核/// </summary>public byte Status { get; set; }/// <summary>/// 禁用状态/// </summary>public byte ForbidStatus { get; set; }/// <summary>/// 禁用人/// </summary>public Guid? ForbidderId { get; set; }/// <summary>/// 禁用日期/// </summary>public DateTime? ForbidDate { get; set; }/// <summary>/// 审核人/// </summary>public Guid? ApproverId { get; set; }/// <summary>/// 审核日期/// </summary>public DateTime? ApproveDate { get; set; }[FreeSql.DataAnnotations.Navigate(nameof(EnumItem.EnumId))]public virtual List<EnumItem> Details { get; set; }

明细表实体类

 [Serializable][Table("TSYS_EnumItem")]public class EnumItem : CreationAuditedEntity<long>{/// <summary>/// 主表key/// </summary>public Guid EnumId { get; set; }/// <summary>/// 显示值/// </summary>[StringLength(100)]public string EnumItemName { get; set; }/// <summary>/// 存储值/// </summary>[StringLength(100)]public string EnumItemValue { get; set; }/// <summary>/// 说明/// </summary>[StringLength(100)]public string EnumItemDesc { get; set; }/// <summary>/// 行号/// </summary>public int Num { get; set; } = 1;/// 备注/// </summary>[StringLength(500)]public string Remark { get; set; }/// <summary>/// 数据状态 0:未提交,1:审核中,2:已审核/// </summary>public byte Status { get; set; }/// <summary>/// 禁用状态/// </summary>public byte ForbidStatus { get; set; }/// <summary>/// 禁用人/// </summary>public Guid? ForbidderId { get; set; }/// <summary>/// 禁用日期/// </summary>public DateTime? ForbidDate { get; set; }/// <summary>/// 审核人/// </summary>public Guid? ApproverId { get; set; }/// <summary>/// 审核日期/// </summary>public DateTime? ApproveDate { get; set; }public virtual Enum Enum { get; set; }        }

把原来的CrudAppService改为BaseCrudAppService即可,这样只要继承了BaseCrudAppService所有的业务层,都有了,爽不爽啊,再也不用辛苦的做码农了。

http://www.yidumall.com/news/110115.html

相关文章:

  • wordpress评论插入图片浙江网站seo
  • 网站建设 阳江经典软文案例100例简短
  • 深圳商城网站建设报价网站开发需要的技术
  • 网站 多语言青岛seo搜索优化
  • 网站的ico怎么做下载优化大师并安装
  • 网站建设能赚多少钱免费html网站制作成品
  • 网站建设公司怎么推广浙江搜索引擎优化
  • 手机网站管理软件推广怎么推
  • wordpress page页面id成都网站seo服务
  • 网站界面设计描述网络营销与管理专业是干什么的
  • 东莞学校网站建设网络营销成功案例分析其成功原因
  • 单位做网站资料需要什么网站推广多少钱
  • 营销型网站建设方案书seo关键词分类
  • 制作网站一般使用的软件有哪些百度一下官网首页网址
  • 做网站的公司如何运营新品牌推广方案
  • wordpress如何升级昭通网站seo
  • 网站建设流程步骤怎么样品牌推广方案策划书
  • 阿里巴巴有几个网站是做外贸的互联网营销方案策划
  • 移动商城网站建设百度云账号登录
  • 铁路建设监理协会网站买号链接
  • 素马杭州网站设计介绍考证培训机构
  • 西楚房产网宿迁房产网seo数据统计分析工具有哪些
  • 邢台制作网站山东省住房和城乡建设厅
  • 大连网站广告推广渠道
  • 免费二级域名解析网站网址app注册拉新平台
  • 深圳西乡网站制作百度 营销推广多少钱
  • 缪斯设计公司做设计师发展怎么样360手机优化大师下载
  • 注册的网站淘宝关键词排名查询工具免费
  • iis网站批量导入网络营销推广方式有哪些
  • 专业网站建今日头条官网首页