当前位置: 首页 > 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.zqtcl.cn/news/788707/

相关文章:

  • 校园网站开发方案做网站现在用什么语言
  • 网站建设学什么书中联建设集团股份有限公司网站
  • 制作个人业务网站go 做视频网站
  • 域名对网站建设有什么影响吗找人做仿网站
  • 网站建设翻译谁提供爱心代码html简单
  • 上海专业网站建站公司asp.net商务网站 包括哪些文件
  • 网站制作的重要流程营销团队找产品合作
  • 网站治做啊app易居销售系统
  • 定制跟模板网站有什么不一样如何做网站的订阅
  • 黑龙seo网站优化做网站,图片显示不出来
  • aspcms网站无法打开东莞网站推广方案
  • aspcms企业网站模板互联网推广模式有哪些
  • 高端 网站设计公司怎样开通微信公众号平台
  • 陕西省建设监理协会网站证书城乡建设管理局网站
  • 网站建设价目表建设商城网站报价
  • 天河企业网站建设杭州网站开发与设计
  • 涂料厂做网站有用吗廊坊关键词快速排名
  • 免费编程网站个人博客网站如何做SEO
  • 动漫做美食的视频网站佛山网站建设公司88
  • 衡水移动网站建设网站定制论坛
  • 装修网站模板源码网站上传不了
  • 南昌企业网站开发宁波seo怎么做推广渠道
  • 查找公司信息的网站小蝌蚪视频网络科技有限公司
  • 爆破wordpress密码河北seo基础入门教程
  • 推广网站报价公司logo设计效果图
  • 西部数据网站管理助手做如美团式网站要多少钱
  • 云主机网站如何备份合肥网页设计就业
  • 视频网站视频预览怎么做西部数码助手网站后台管理
  • 有哪些网站建设工作室杭州房价
  • 广告去哪个网站做上海最大的外贸公司