幼儿饰品瑜伽美体用品微软
投稿投诉
微软创意
爱情通信
用品婚姻
爱好看病
美体软件
影音星座
瑜伽周边
星座办公
饰品塑形
搞笑减肥
幼儿两性
智家潮品

Net6。0中实现自动生成代码

  1、前言
  生成代码NuGet包:XmSoft。CodeGenerator
  该包将会自动生成代码,如:实体,仓储,服务,控制器及校验等文件。
  控制器包含CRUD接口:创建,修改,删除,详情,列表。
  参考:ORM框架采用SqlSugar框架生成
  2、示例创建控制台应用输出项目名称自定义dotnetnewconsoleoXmSoft。AutoCode引入NuGetdotnetaddpackageXmSoft。CodeGeneratorappsettings。json配置代码命名空间及输出位置比如:{CodeHelperOptions:{ConnectConnectionString:Server127。0。0。1;Uidsa;Pwdxxxxxxx;Databasetest;Port3306;Charsetutf8;,ProviderName:MySql。Data。MySqlClient,NameSpace:{ModelsNamespace:XmSoft。Domain。Models,DomainName:XmSoft。Domain,DtoNamespace:XmSoft。ViewModels。Dto,ApiControllerNamespace:XmSoft。Api。Application,InterfaceName:XmSoft,ServicesNamespace:XmSoft。Service,RepositoriesNamespace:XmSoft。Repository,ValidatorNamespace:XmSoft。Validation},CodePath:{ModelsPath:XmSoft。DomainModels,DtoPath:XmSoft。ViewModelsDto,IRepositoriesPath:XmSoft。IRepository,IServicesPath:XmSoft。IService,RepositoriesPath:XmSoft。Repository,ServicesPath:XmSoft。Service,ControllerPath:XmSoft。ApiApplication,ValidatorPath:XmSoft。Validation}}}Utility。cs输入表名,多个用逗号隔开publicstaticclassUtility{publicstaticstring〔〕WriteTables(){Console。WriteLine(请输入数据表名称,多个用逗号隔开);varstrReadConsole。ReadLine();vartablesstrRead?。Split(,);if(string。IsNullOrEmpty(strRead)tablesnulltables。Length0){WriteTables();}returntables??Array。Emptystring();}}Program。csConsole。WriteLine(自动生成代码);varconfigurationnewConfigurationBuilder()。SetBasePath(Directory。GetCurrentDirectory())。AddJsonFile(appsettings。json)。Build();varoptionsconfiguration。GetSection(nameof(CodeHelperOptions))。GetCodeHelperOptions();varpathDirectory。GetCurrentDirectory();varfilterAXmSoft。AutoCodebinDebuget6。0;XmSoft。AutoCode修改创建的项目名varfilterBXmSoft。AutoCodebinReleaseet6。0;pathpath。Replace(filterA,);pathpath。Replace(filterB,);Console。WriteLine(34;{path});options。CodePath。ValidatorPathPath。Combine(path,options。CodePath。ValidatorPath);options。CodePath。ControllerPathPath。Combine(path,options。CodePath。ControllerPath);options。CodePath。ModelsPathPath。Combine(path,options。CodePath。ModelsPath);options。CodePath。IRepositoriesPathPath。Combine(path,options。CodePath。IRepositoriesPath);options。CodePath。IServicesPathPath。Combine(path,options。CodePath。IServicesPath);options。CodePath。RepositoriesPathPath。Combine(path,options。CodePath。RepositoriesPath);options。CodePath。ServicesPathPath。Combine(path,options。CodePath。ServicesPath);options。CodePath。DtoPathPath。Combine(path,options。CodePath。DtoPath);vartablesUtility。WriteTables();options。Tablestables;Console。WriteLine(是否确定执行(YN));varcommandConsole。ReadLine();if(!string。IsNullOrEmpty(command)command。ToLower()y){varhelpernewCodeGeneratorHelper(options);helper。Run();Console。WriteLine(完成);}Console。ReadKey();
  3、执行ztest表sql语句DROPTABLEIFEXISTSztest;CREATETABLEztest(idbigint(20)NOTNULLAUTOINCREMENTCOMMENTid,businessidbigint(20)NULLDEFAULTNULLCOMMENT业务id,titlevarchar(50)CHARACTERSETutf8mb4COLLATEutf8mb4unicodeciNULLDEFAULTNULLCOMMENT标题,contenttextCHARACTERSETutf8mb4COLLATEutf8mb4unicodeciNULLCOMMENT内容,picturetextCHARACTERSETutf8mb4COLLATEutf8mb4unicodeciNULLCOMMENT图片,statusint(11)NULLDEFAULTNULLCOMMENT状态0正常1关闭,remarkvarchar(200)CHARACTERSETutf8mb4COLLATEutf8mb4unicodeciNULLDEFAULTNULLCOMMENT备注说明,sortint(11)NULLDEFAULTNULLCOMMENT排序,createtimedatetime(0)NULLDEFAULTNULLCOMMENT创建时间,createbyvarchar(64)CHARACTERSETutf8mb4COLLATEutf8mb4unicodeciNULLDEFAULTNULLCOMMENT创建Id,updatetimedatetime(0)NULLDEFAULTNULLCOMMENT更新时间,updatebyvarchar(64)CHARACTERSETutf8mb4COLLATEutf8mb4unicodeciNULLDEFAULTNULLCOMMENT更新Id,delFlagchar(1)CHARACTERSETutf8mb4COLLATEutf8mb4unicodeciNULLDEFAULTNULLCOMMENT是否删除1是,0否,PRIMARYKEY(id)USINGBTREE)ENGINEInnoDBAUTOINCREMENT4CHARACTERSETutf8mb4COLLATEutf8mb4unicodeciCOMMENT测试表ROWFORMATDynamic;SETFOREIGNKEYCHECKS1;补充说明:表必须有个主键key
  执行生成实体summary测试表summary〔SugarTable(ztest)〕publicpartialclassTest:BaseBusinessEntityint?{summary标题summary〔SugarColumn(ColumnNametitle)〕publicstringTitle{get;set;}summary内容summary〔SugarColumn(ColumnNamecontent)〕publicstringContent{get;set;}summary图片summary〔SugarColumn(ColumnNamepicture)〕publicstringPicture{get;set;}summary状态0正常1关闭summary〔SugarColumn(ColumnNamestatus)〕publicint?Status{get;set;}summary备注说明summary〔SugarColumn(ColumnNameremark)〕publicstringRemark{get;set;}summary排序summary〔SugarColumn(ColumnNamesort)〕publicint?Sort{get;set;}}说明:自定义BaseBusinessEntity或BaseEntity自定义,这里的主键名id,业务idsummarysummarytypeparamnameTtypeparampublicabstractclassBaseBusinessEntityT:BaseEntityT{summary业务Idsummary〔SugarColumn(ColumnNamebusinessid)〕publiclong?BusinessId{get;set;}}publicabstractclassBaseEntityT{〔SugarColumn(IsPrimaryKeytrue,IsIdentitytrue,ColumnNameid)〕publicTId{get;set;}summary0未删除1回收站2已删除summary〔SugarColumn(ColumnNamedelFlag)〕〔JsonIgnore〕publicstringDelFlag{get;set;}summary创建时间summary〔SugarColumn(ColumnNamecreatetime)〕〔Column(createtime)〕〔JsonIgnore〕publicDateTime?CreateTime{get;set;}summary创建Idsummary〔SugarColumn(ColumnNamecreateby)〕〔Column(createid)〕〔JsonIgnore〕publicstringCreateBy{get;set;}summary修改时间summary〔SugarColumn(ColumnNameupdatetime)〕〔Column(updatetime)〕〔JsonIgnore〕publicDateTime?UpdateTime{get;set;}summary修改者IDsummary〔SugarColumn(ColumnNameupdateby)〕〔Column(updateid)〕〔JsonIgnore〕publicstringUpdateBy{get;set;}publicvoidCreate(){CreateBy(userId?。ToString())??CreateBy;BusinessIdbusinessId??BusinessId;CreateTimeDateTime。Now;DelFlag0;}publicvoidUpdate(){UpdateTimeDateTime。Now;}}生成仓储EFRepositoryTest引用XmSoft。Core。SqlSugar。RepositorypublicsealedclassTestRepository:EFRepositoryTest,ITestRepository{publicreadonlyISqlSugarClientContext;publicTestRepository(ISqlSugarClientcontext):base(context){Contextcontext;}publicISugarQueryableTestSugarQueryable(){returnContext。QueryableTest();}}生成服务引用XmSoft。Core。SqlSugar。ServicepublicclassTestService:BaseServiceTest,ITestService{publicTestService(ITestRepositoryrepository):base(repository){}publicasyncoverrideTaskIResultboolCreate(Testentity,dynamicuser){varvalidationnewAddTestValidator()。Validation(entity);if(!validation。Succeeded)returnvalidation。Failbool();entity。Create();entity。CreateByuser?。UserName;entity。BusinessIduser?。BusinessId;returnawaitbase。Create(entity);}publicasyncoverrideTaskIResultintUpdate(Testentity,dynamicuser){varvalidationnewUpdateTestValidator()。Validation(entity);if(!validation。Succeeded)returnvalidation。Failint();entity。Update();entity。UpdateByuser?。UserName;returnawaitbase。Update(entity);}publicasyncTaskIResultPageTestList(Testmodel,PageInfopager,dynamicuser){long?businessIduser?。BusinessId;varpredicateExpressionable。CreateTest();predicate。And(qq。BusinessIdbusinessId);varresultawaitPage(pager。PageIndex,pager。PageSize,predicate。ToExpression(),qq。CreateTime,false);returnresult;}}生成Dtosummary测试表summarypublicpartialclassTestDto{summaryidsummarypubliclongId{get;set;}summary业务idsummarypubliclong?BusinessId{get;set;}summary标题summarypublicstringTitle{get;set;}summary内容summarypublicstringContent{get;set;}summary图片summarypublicstringPicture{get;set;}summary状态0正常1关闭summarypublicint?Status{get;set;}summary备注说明summarypublicstringRemark{get;set;}summary排序summarypublicint?Sort{get;set;}}生成控制器BaseAppService可自定义可继承ControllerBase等summary测试表summary〔Route(test)〕〔Tags(测试表)〕publicclassTestAppService:BaseAppService{privatereadonlyITestServiceservice;publicTestAppService(ITestServiceservice){serviceservice;}summary创建测试表summaryparamnamemodelparamreturnsreturns〔HttpPost〕〔SwaggerResponse(200,Typetypeof(IResultbool))〕〔Log(Title测试表,BusinessTypeBusinessType。INSERT)〕publicIActionResultCreate(TestDtomodel)service。Create(model。AdaptTest(),User)。ApiResult();summary修改测试表summaryparamnamemodelparamreturnsreturns〔HttpPut〕〔SwaggerResponse(200,Typetypeof(IResultint))〕〔Log(Title测试表,BusinessTypeBusinessType。UPDATE)〕publicIActionResultUpdate(TestDtomodel)service。Update(model。AdaptTest(),User)。ApiResult();summary删除测试表summaryparamnameidparamreturnsreturns〔HttpDelete({id})〕〔SwaggerResponse(200,Typetypeof(IResultint))〕〔Log(Title测试表,BusinessTypeBusinessType。DELETE)〕publicIActionResultDelete(intid)service。Delete(qq。Idid)。ApiResult();summary获取测试表数据summaryparamnameidparamreturnsreturns〔HttpGet({id})〕〔SwaggerResponse(200,Typetypeof(IResultTest))〕publicIActionResultInfo(intid)service。Info(qq。Idid)。ApiResult();summary测试表列表summaryparamnamemodelparamparamnamepagerparamreturnsreturns〔HttpGet(list)〕〔SwaggerResponse(200,Typetypeof(IResultPageTest))〕publicIActionResultList(TestDtomodel,PageInfopager)service。List(model。AdaptTest(),pager,User)。ApiResult();}
  Swagger显示效果注:需要Demo请私信发邮箱

这七位痣美人,李建群柔情似水,沈傲君楚楚动人文人间拾记编辑人间拾记这些女演员可谓是颜值十分,痣占三分。痣的位置也是影响一个人的颜值的重要因素,美人痣,泪痣,媒婆痣,鼻尖痣,脸颊痣等大概是我们最常见的痣了……36分30分14分!火箭虽败犹荣,三大目标都实现,榜眼比肩詹在一场东西部的强弱对话中,客场作战的火箭队最终败下阵来。主场作战的篮网队拿下一场关键的胜利,不仅止住了下滑的势头,还在老鹰与黄蜂先后输球的情况下,重新回到东部第八的位置。……首发痛失168亿,零跑如何重新支棱起来?深论(图片源于百度侵删)文陈博没能重现蔚小理上市首日大涨,零跑汽车驶入港交所第一天,遭遇滑铁卢。9月29日收盘,零跑汽车股价为31。9港元股,较发行价48港元暴跌……广东又一超6星铂金酒店,三面环湖,含自助早餐晚餐,又平又正【江门玥湖豪华度假酒店】五星级两日游,两人599含自助早餐海鲜自助晚餐超大泳池!点开我的头像,再点底部【活动资讯】,搜索关键词东古下单预定纵观名山大川,每每遇到这些……看了鞠婧祎和别人的合影,我才发现她的颜值原来这么优越最近鞠婧祎和路人们拍摄一组组照片被大家看到,很多朋友都被这个颜值给惊到了。白皙的皮肤,精致的五官,还有特色十足的妆容,引起了美妆界的一次次的模仿。不过有的时候她和路人的合……20年了!美媒晒图怀念姚明NBA生涯,曾凡博失利,下一个会是2002年的今天,大卫斯特恩在选秀大会上宣布休斯敦火箭队用他们的状元签拿下姚明,生涯场均出战32。5分钟可以得到19分9。2篮板1。9盖帽,生涯5次进入年度最佳阵容,8次入选全……梅婷一家四口同框,穿衣休闲又大方,全黑装显得低调似路人今天穿什么潮流风格穿搭就要这么穿黑色的高级大方是最有气质的一种颜色,而且黑色还没有多么抢眼的特点,让女生们展示出来的风格和气质都会相对低调简单一些,尽管这样,女生们还是不……研究发现生物钟反馈调节远红光受体phyA分子机制光信号与生物钟之间存在密切互作关系:一方面,光是重要的生物钟授时因子,光信号通过与生物钟核心振荡器的多层级互作,驯导生物钟,使植物生长和代谢的昼夜节律性与环境光周期同步,从而达……游戏王禁卡目录未来壶在K社的眼中,1张的效果如果足够强势就可以作为被封禁的标准,而要是沾染上FTK那就是必死无疑。今天村长为大家介绍的这张禁卡则兼具了以上2种情况,自从初次封禁就再也没有解封过,可……国乒消息!孙颖莎压力来了,陈梦默默转型,刘诗雯闺蜜被求婚说到孙颖莎、陈梦、刘诗雯相信很多球迷朋友不陌生,她们都是非常出色的女乒球员。经常关注国乒的球迷都知道,刘诗雯是如今女乒年龄最大的球员了,1991年出生如今31岁了,在如今新的排……论经济与欲望经济最大的特征就是欲望,经济与欲望联系在一起就已经成为一种必然,欲望是经济的产物,经济是欲望的产物等等,经济首先必然要引起人的欲望为基本条件,如果无法引起人的欲望,他就不……OPPO手环2体验取舍均衡的轻便大号手环毫无疑问,在可穿戴领域,手环这一形态在今年又迎来了扎堆式的变化,不少厂商都推出了他们的大号手环新品,而OPPO也是迅速跟进,在8月10日为我们带来了全新的OPPO手环2同样也是……
爆大冷!拳坛纳达尔不敌1米97小将,33战全胜战绩被终结12月6日,在美国洛杉矶进行的一场12回合超次中量级比赛落下帷幕,经过36分钟鏖战,有着拳坛纳达尔著称的西班牙拳王塞尔吉奥加西亚以一致的判定输给了年仅23岁的美国新星塞巴斯蒂安……玩家整合GTA4圣安地列斯罪恶都市地图无缝衔接《GTA》系列游戏为玩家们提供了庞大的开放世界,近日有Reddit网友发布了一张将《GTA4》、《圣安地列斯》、《罪恶都市》的地图整合在一起的超大型地图。这个概念最初源自于一个……健脾祛湿化痰止咳!药中贤妻良母,百搭女王,你知道是什么吗经常有很多朋友问:怎么健脾啊??说起来健脾真的是有很多角度,比如:对肝气不舒、心情不好的人来说,舒肝解郁就是健脾,因为肝木克脾土嘛;对于严重缺乏运动的人来说,……原神分享个底配刻晴满星阵容作者:NGAelecs刻晴2命,皇女6早柚1万叶0,123可以在90秒前后打完。武器:刻晴精3龙吟;皇女精1终末;早柚精1稻妻锻造大剑;万叶……新疆人都不知道!穿越盘龙古道走过幸福五号桥就是梦里的杏花村幸福是一张旧报纸,陈旧的消息、褶皱的纸张、满是重叠的印刷文字,凑近依稀可以闻到墨印的气息,可是就是这样一张旧报纸,是熟悉也是温情:过去被文字记载,过往被墨迹铭刻,那些开心和不开……有了糖尿病,不能吃土豆?土豆做成的土豆粉条能吃吗?作为一种最大众化的食物,土豆是不少人的最爱,但如果查出的糖尿病,一些人不得不忍痛割爱,对土豆敬而远之;但也有人照吃不误,对控制血糖并没有什么影响,为什么?难道是不同人的血糖对土……火箭撞击月球马斯克的摊牌从1969年美国登月成功到挑战者航天飞机爆炸,美国再也没有能力载人航天,如果你认为这是美国所说的费用无法承担那就可笑至极了,现在国际空间站都是用俄罗斯的飞船往来一直到现在的马斯……朋友圈伤心透顶的文案一、怕只怕这日复一日的陪伴,满腔全心全意的付出,还是会输,输给一种叫做新鲜感的玩意儿,你说,可笑不可笑。二、有些人莫名其妙的闯进你的世界,给了你想要的温暖和陪伴,然而又莫……甄嬛传同为侧福晋,孟静娴却完胜浣碧,她的心机你看懂了吗你知道吗?《甄嬛传》中最有心机的女人其实不是甄嬛和皇后,而是久在深闺的孟静娴。今天,我们就来说一说孟静娴的心机到底有多深。01使计逃避选秀《甄嬛传》一开头就是皇上的……乡村旅游热起来,有哪些新玩法?新京报贝壳财经讯(记者王真真)随着乡村振兴战略的推进,乡村旅游市场持续升温,越来越多的游客将目光转向乡村,去感受看得见的山水和触摸得到的田园。3月25日,途牛发布《202……先别着急给视频号下定义图片来源视觉中国文新眸,作者叶静,编辑桑明强今年的微信公开课上,视频号站到了C位。这并不是腾讯第一次重金押注短视频。4年前,短视频热潮席卷互联网,抖音、快手各……亚洲杯中国男篮险胜巴林的背后,藏着多少鲜为人知的秘密亚洲杯:中国男篮险胜巴林的背后,藏着多少鲜为人知的秘密。网友热议一针见血地指出:别拿主力缺失什么的当借口了,中国篮球难道也要发展成男足那种水平?就算拿CBA球队来打亚洲杯。也绝……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网