专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

案例分享使用Dapper实现CRUD

  一、简介
  。Net平台下有非常多的ORM框架,ef(core)、dapper、nhibernate、sqlsugar、freesql等等,每个orm都有自己的特点,但性能这块还是dapper牛逼。二、使用案例
  创建一个Asp。NetCoreWebApi项目,接口文档可以参照上一篇文章介绍的Knife4j进行配置。项目引入依赖:PackageReferenceIncludeDapperVersion2。0。123PackageReferenceIncludeMicrosoft。Data。SqlClientVersion3。1。2
  项目使用SqlServer数据库,需要创建一个数据库:Article,一张表Product
  建表脚本:CREATETABLE〔dbo〕。〔Product〕(〔ProductId〕〔varchar〕(50)NOTNULL,〔ProductName〕〔nvarchar〕(50)NOTNULL,〔CategoryId〕〔nvarchar〕(50)NULL,CONSTRAINT〔PKProduct〕PRIMARYKEYCLUSTERED(〔ProductId〕ASC)WITH(PADINDEXOFF,STATISTICSNORECOMPUTEOFF,IGNOREDUPKEYOFF,ALLOWROWLOCKSON,ALLOWPAGELOCKSON)ON〔PRIMARY〕)ON〔PRIMARY〕
  新建数据库访问类:DataAccessusingSystem。Collections。Generic;usingSystem。Threading。Tasks;usingMicrosoft。Data。SqlClient;usingSystem。Data;usingDapper;namespaceApiDoc。Controllers{publicclassDataAccess{privatereadonlystringConnectionStringDataSource。;InitialCatalogArticle;UserIDsa;Password数据库密码;publicasyncTaskintExecuteT(stringsql,Tentity){usingIDbConnectionconnectionnewSqlConnection(ConnectionString);returnawaitconnection。ExecuteAsync(sql,entity);}publicasyncTaskIEnumerableTGetListT(stringsql,objectparamnull){usingIDbConnectionconnectionnewSqlConnection(ConnectionString);returnawaitconnection。QueryAsyncT(sql,param);}}}
  新建产品类:Productsummary产品类summarypublicclassProduct{summary产品IDsummarypublicstringProductId{get;set;}summary产品名称summarypublicstringProductName{get;set;}summary产品分组summarypublicstringCategoryId{get;set;}}
  新建控制器:ProductController〔Route(api〔controller〕)〕〔ApiController〕publicclassProductController:ControllerBase{summary读取单个summaryreturnsreturns〔HttpGet(Get)〕publicasyncTaskProductGet(stringproductId){DataAccessdataAccessnewDataAccess();varlistawaitdataAccess。GetListProduct(34;selectfromProductwhereproductId{productId})。ConfigureAwait(false);returnlist。FirstOrDefault();}summary读取集合summaryreturnsreturns〔HttpGet(List)〕publicasyncTaskIEnumerableProductList(){DataAccessdataAccessnewDataAccess();returnawaitdataAccess。GetListProduct(34;selectfromProduct)。ConfigureAwait(false);returnnewListProduct(){newProduct{ProductId1,ProductName优质大米,CategoryId1},newProduct{ProductId2,ProductName优质大豆,CategoryId1},};}summary删除summaryparamnameproductId主键param〔HttpDelete(Delete)〕publicasyncTaskintDelete(stringproductId){DataAccessdataAccessnewDataAccess();returnawaitdataAccess。ExecuteProduct(DELETEFROM〔dbo〕。〔Product〕WHERE〔ProductId〕{productId},null);}summary新增summaryparamnameproduct产品param〔HttpPost(Add)〕publicasyncTaskintAdd(Productproduct){DataAccessdataAccessnewDataAccess();returnawaitdataAccess。ExecuteProduct(INSERTINTO〔Product〕(〔ProductId〕,〔ProductName〕,〔CategoryId〕)VALUES(ProductId,ProductName,CategoryId),product);}summary修改summaryparamnameproduct产品param〔HttpPut(Edit)〕publicasyncTaskintEdit(Productproduct){DataAccessdataAccessnewDataAccess();returnawaitdataAccess。ExecuteProduct(UPDATE〔Product〕SET〔ProductName〕ProductName,〔CategoryId〕CategoryIdWHERE〔ProductId〕{product。ProductId},product);}}
  准备好后,我们的项目是这样的:
  我们将控制器里面的List方法改为返回静态数据:
  运行项目,执行List方法我们得到一些测试数据:
  使用这些测试数据,我们进行新增
  新增完两条数据后,我们将List方法改回读数据库:
  执行List方法:
  剩余的修改和删除我就不一一演示了,整个过程非常简单可以动手试试。
  Dapper是一个IDbConnection对象的扩展库,增加了非常多的查询和执行命令的方法:
  大家可以根据自己的需求选择其中的方法。
  作为一个高性能的ORM其使用者也是非常多,为了弥补需要手写sql的缺点,社区内有非常多的扩展库比如:DapperExtensions等可以实现无sql化。

用心做事我们到了一定的年龄,或多或少地就开始做点事情。做事,既是我们的基本能力也是作为个体人和社会人的生存与发展需要。如何谋事如何做事如何成事,始终困绕着每个人。我们每一个人的起点应该说都境由心造佛说物随心转,境由心造,烦恼由心生。有时候你的生活中属于你的最终属于你,不属于你的东西不要强求。学会适时放弃。在生活中,良好的心态可以让你乐观豁达良好的心态可以让你战胜苦难良好的心对生活有反思吗每天除了抹眼泪还会做什么还有别的能力吗业务有精进吗有学习新的知识吗你在进步吗什么是你想要的你有认真思考过吗每次回答之前有斟酌过吗不是小孩子是大人就要有大人的做法。有真正的去脚踏实地有没有一个句子让你记好久那天理性战胜了心我再也没回过头后来感性又在作祟让我彻夜难眠世间大多的不愉快皆是因为记性太好所以你在难过什么呢这一路好多人辜负你你也辜负了好多人不是吗其实你的小伎俩很普通只不过是我爱什么是格局当你接触的人越多,层次越高,你就会发现越高端越有教养的人大都互相扶持与尊重,抱团发展,因为你好了大家都好越低端,层次越低的人越是喜欢低毁嫉妒拆台,因为我不好,我也不想你好。所以,一从建材到食住行各环节,一起来看服贸会上的低碳元素2022服贸会上,碳达峰碳中和成为关键词,不仅专设了环境服务展区,而且供应链建筑金融等专业展里也都是满满绿意。几场高峰论坛里,业界学界商家都在关注全球低碳场景带来的机遇,尤其是中国10位自然老去的女星,脸上被岁月补满刀,却活成了人人羡慕的模样文胡叔说料编辑胡叔说料在迷惑众生的娱乐圈,女明星们衰老的容颜堪比走颜值红毯,有人在妄想肉体永存的道路上一发不可收拾,也有人任由岁月在脸上补刀,默默地扛下了所有。有这样10位女明星,沃尔沃全新SUV概念车亮相,外观很前卫时尚,对开式车门,22布局在新能源的大潮下,近年来奔驰宝马这些传统的豪华品牌也开始推出纯电动车型了,而此前沃尔沃曾表示,到2030年,沃尔沃将转型为纯电动豪华车企,还有不到8年的时间,显然是要即将到来的纯电谈去宁德时代化为时尚早来源经济日报日前,宁德时代分别与极氪赛力斯签署5年长期战略合作协议。根据协议,极氪成为麒麟电池的全球量产首发品牌,极氪009为麒麟电池首发车型,而极氪001将成为全球首款搭载麒麟11969年,厨师于存失误做了苦瓜炒鸡丁,毛泽东好奇这是谁的发明图毛泽东前言跟在毛主席身边的人都知道,他是一个风趣幽默的人,即便有人偶然犯错,他都能轻巧解围。三不粘1947年,毛泽东前往靖边县小河村的石屹崂住持召开一次中央扩大会议,在场的人都知清朝一公子,不顾世俗与妹妹结婚,生下一个儿子却成了近代名人天下熙熙攘攘,皆为利尔。我无利于人,谁肯助我?清朝名臣李鸿章的这句名言,曾被如今的许多人所传颂,人们也觉得这句话十分有道理。不过,我们今天要说的,并不是李鸿章,而是他的父亲李文安的
爵士阵容雄厚轻松拿捏灰熊!目标直指季后赛,安吉是老狐狸新赛季开始后,爵士队在西部强势崛起,各队对这支劲旅的表现都严重准备不足,在交易走米切尔和戈贝尔后,老狐狸安吉曾明确表示爵士队要在新赛季争取夺得高顺位的选秀轮次,可当他们排在西部第三螺旋圆舞曲2蔷薇战争剧情是什么螺旋圆舞曲2剧情解析这个游戏是最近才出来的一个比较有意思的换装类的游戏,这个游戏的故事剧情特别精彩,引得不少玩家在找螺旋圆舞曲2蔷薇战争剧情是什么。这个游戏的用不同的方式诉说了一个灰姑娘的故事,用细腻旺季不旺!骨折清库存,补货上架慢,美西热门仓库还着火了文章来源公众号跨境物流情报局SMF3仓库着火了!消息来源于3天前的亚马逊员工论坛,来看看SMF3的员工都是怎么说的。昨天SMF3又反应压实机连续2天着火。根据仓库员工的反应来看,火快乐,还是烦恼,其实就在一念之间头号解忧馆很多时候,我们不快乐,只是因为心里太执着,放不下执念,才会在心里纠缠,别总是为了一些小事,惹得自己特别心烦。快乐,还是烦恼,其实就在一念之间,生命不过是一场过程,总是纠结关羽扮演者陆树铭走了,再见美髯公,心中云长也只有他了陆树铭的成就在于在所有人心目中达成了对关羽形象刻画的认知。94年以后,日本游戏公司基本按陆版修改的三国系列关羽头像。以94版本为原型设计的关羽雕塑。今天的手办。18年欧美发布全战三AG梦泪摊上事了,河南老师事件让他被迫停播,真的太冤了最近AG超玩会的梦泪摊上事了。可能不少小伙伴都刷到了一则新闻,河南的一位老师因为被网暴,突发心梗去世。刘老师的女儿放出了一段网课的录屏,当时有几个人在课堂上辱骂老师,言语非常难听,什么样的人才会组团攻击网课老师?一个认真备课上课的女老师,疑似被网暴致死了。这件听起来就很魔幻的事情,就发生在最近。11月2日,一名网友在微博发文,称自己的妈妈是某中学的一名历史老师,10月中旬开始,学校开始网络马斯克最近收购Twitter导致了狗狗币的巨大波动,它会持续多久?自2022年5月市场崩盘以来,加密空间一直受到空头的严重影响。比特币价格下跌了一半以上,同时拉低了其他流行的山寨币。另一方面,狗狗币被推测已经死了,因为它保持了一年多的停滞趋势。然第四届世界智能汽车年度车型评价实车测试在京举行中青报中青网见习记者王志远智能网联汽车是全球汽车产业转型升级的战略方向,在过去的几年里,中国汽车行业在这条赛道上赢得了先机。汽车智能化的不断提高,也带动了全产业链的智能科技创新,从全世界关注美国利率新动向来源环球时报环球时报记者倪浩环球时报驻德国特约记者昭东美联储定于11月2日公布最新利率决议,这是美国11月8日中期选举前美联储最后一次利率调整会议。市场普遍预期美联储将加息75个基融云出海白皮书免费看巴西成增量潜力应许之地在全球化的大旗下,中国互联网出海经历了不同地区的价值迁徙,完成着在新兴市场如东南亚建立信心后,到成熟市场如美国的进阶。关注融云全球互联网通信云了解更多2022社交泛娱乐出海白皮书纵
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网