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

在自己的电脑做网站空间活动推广方案策划

在自己的电脑做网站空间,活动推广方案策划,如何加入小说网站做打字员,网站只做静态页面安全受到影响没有基础的#xff0c;请参考上一篇 彩蛋到最后一张图里找 参考链接 结果直接上图#xff0c;没有任何业务代码 启动后#xff0c;已经有了基本的CRUD功能#xff0c;还扩展了批量删除#xff0c;与动态查询 动态查询截图#xff0c;支持分页#xff0c;排序 实现原理…没有基础的请参考上一篇 彩蛋到最后一张图里找 参考链接 结果直接上图没有任何业务代码 启动后已经有了基本的CRUD功能还扩展了批量删除与动态查询 动态查询截图支持分页排序 实现原理 FreeSql导航参考官方地址 聚合根实验室 | FreeSql 官方文档 继承IReadOnlyRepository接口实现用FreeSql实现所有功能即可 关键CRUD代码 //默认删除public Task DeleteAsync(TKey id, bool autoSave false, CancellationToken cancellationToken default){return FreeSql.DeleteT(new { Id id }).ExecuteAffrowsAsync(cancellationToken);}public Task DeleteDirectAsync(ExpressionFuncT, bool predicate, CancellationToken cancellationToken default){return FreeSql.DeleteT().Where(predicate).ExecuteAffrowsAsync(cancellationToken);}//批量删除public Task DeleteManyAsync(IEnumerableTKey ids, bool autoSave false, CancellationToken cancellationToken default){return FreeSql.DeleteT(ids).ExecuteAffrowsAsync(cancellationToken);}//默认Getpublic TaskT GetAsync(TKey id, bool includeDetails true, CancellationToken cancellationToken default){object dywhere new { Id id };var query FreeSql.GetAggregateRootRepositoryT().Select.WhereDynamic(dywhere);// FreeSql.QueryableT().WhereDynamic(dywhere); FreeSqlHelper.SetNavigate(query);return query.ToOneAsync(cancellationToken);}//默认GetListpublic TaskIQueryableT GetQueryableAsync(){ISelectT queryable;if (_httpContextAccessor.HttpContext.Request.Query.Any(q q.Key Sorting)){string sorting _httpContextAccessor.HttpContext.Request.Query[Sorting];queryable FreeSql.QueryableT().OrderBy(sorting);}else{queryable FreeSql.QueryableT();}FreeSqlHelper.SetNavigate(queryable);return Task.FromResult(queryable.AsQueryable());}//默认Postpublic async TaskT InsertAsync(T entity, bool autoSave false, CancellationToken cancellationToken default){SetEntity(entity);await FreeSql.GetAggregateRootRepositoryT().InsertAsync(entity,cancellationToken);return entity;} FreeSqlHelper.cs代码 public class FreeSqlHelper{/// summary/// 设置导航/// /summary/// typeparam nameT/typeparam/// param namequery/parampublic static void SetNavigateT(FreeSql.ISelectT query) {var type typeof(T);MemberInfo[] myMembers type.GetProperties();foreach (MemberInfo myMember in myMembers){var navigateAttribute myMember.GetCustomAttributeFreeSql.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/// 动态过滤条件/// /summarypublic DynamicFilterInfo FilterInfo { get; set; }new();/// summary/// 当前页/// /summarypublic int CurrentPage { get; set; } 1;/// summary/// 每页显示记录条数/// /summarypublic int PageSize { get; set; } 50;/// summary/// 排序/// /summarypublic string Sorting { get; set; } string.Empty;} IBaseRepository代码如图只是为了在BaseCrudAppService能获取到freesql Enum实体类代码由代码生成器生成 [Serializable] [Table(TSYS_Enum)] public class Enum : BaseAuditedAggregateRootGuid {/// summary/// 字典群组/// /summarypublic int EnumGroup { get; set; }/// summary/// 字典类型/// /summarypublic 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已审核/// /summarypublic byte Status { get; set; }/// summary/// 禁用状态/// /summarypublic byte ForbidStatus { get; set; }/// summary/// 禁用人/// /summarypublic Guid? ForbidderId { get; set; }/// summary/// 禁用日期/// /summarypublic DateTime? ForbidDate { get; set; }/// summary/// 审核人/// /summarypublic Guid? ApproverId { get; set; }/// summary/// 审核日期/// /summarypublic DateTime? ApproveDate { get; set; }[FreeSql.DataAnnotations.Navigate(nameof(EnumItem.EnumId))]public virtual ListEnumItem Details { get; set; } 明细表实体类 [Serializable][Table(TSYS_EnumItem)]public class EnumItem : CreationAuditedEntitylong{/// summary/// 主表key/// /summarypublic 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/// 行号/// /summarypublic int Num { get; set; } 1;/// 备注/// /summary[StringLength(500)]public string Remark { get; set; }/// summary/// 数据状态 0未提交1审核中2已审核/// /summarypublic byte Status { get; set; }/// summary/// 禁用状态/// /summarypublic byte ForbidStatus { get; set; }/// summary/// 禁用人/// /summarypublic Guid? ForbidderId { get; set; }/// summary/// 禁用日期/// /summarypublic DateTime? ForbidDate { get; set; }/// summary/// 审核人/// /summarypublic Guid? ApproverId { get; set; }/// summary/// 审核日期/// /summarypublic DateTime? ApproveDate { get; set; }public virtual Enum Enum { get; set; } } 把原来的CrudAppService改为BaseCrudAppService即可这样只要继承了BaseCrudAppService所有的业务层都有了爽不爽啊再也不用辛苦的做码农了。
http://www.pierceye.com/news/788707/

相关文章:

  • 学生做的网站成品roseonly企业网站优化
  • 台前网站建设电话百度账号注册申请
  • 政和县建设局网站公告征婚网站咋做
  • 做网站需要用到的语言注册公司需要多少钱保证金
  • 如何给别人做网站赚钱互联网广告营销方案
  • 上海专业做网站公司地址软文代写
  • 家居网站源码宁波专业建设网站建站公司
  • 成都网站建设 Vr功能 卓 公司网站后台管理系统怎么用
  • 微站网建站系统南昌科技网站建设
  • 商家网站建设模板快速备份wordpress
  • 网站建设推广价格肯德基网站建设
  • 网站开发课程百度云平湖公司做网站
  • 手机网站建设品牌什么是企业云网站建设
  • 烟台网站建设推荐企汇互联见效付款58同城网站模板
  • 琪恋网站建设深圳3d网站建设
  • 做ic用什么网站软文代写平台
  • 厦门网站建设 九来网站建设公司如何发展
  • 广州 网站的设计公司耒阳市古雍网站建设店
  • 保定网站推广费用网站搜索 收录优化
  • 三河市建设厅公示网站个人flash网站
  • 建设网站工具上海网站制作团队
  • 化妆品网站系统规划wordpress 站群软件
  • 深圳低价做网站广告免费设计在线生成
  • 网站服务体系网站开发补充合同范本
  • 萝岗做网站网站优化大计
  • 服装店网站模板北京网站设计公司哪个好
  • 网站运维工作内容网页设计与制作课程小结
  • 2019网站怎么做网站快速备案公司
  • 上饶网站制作专业网站设计如何提升网页品质
  • 哈尔滨微信网站建设学网站设计和平面设计