《你必须掌握的Entity Framework 6.x与Core 2.0》正式出版感想

前言

借书正式出版之际,完整回顾下从写博客到写书整个历程,也算是对自己近三年在技术上的一个总结,整个历程可通过三个万万没想到来概括,请耐心阅读。

写博、写书完整历程回顾

从2013年12月注册博客园账号,注册博客园账号还是在学校兼职时,带我们的经理要我们经常多看看这个平台上的文章学习学习,于是乎就注册了账号,但是一直未启用,直到2015年7月才开始才正式开始写博文,那时的想法和大多数注册博客园账号童鞋的想法一样,记录自己学习和积累的点滴,遇到什么问题就不用到处各种找寻资料,同时写的博文能够得到大神们的指点将是再好不过。写博客截止今日接近有三年的时间,博文数量加上本篇博文总共212篇博文,已有2171个评论,写的方向侧重于后端着重在EntityFramework 6.x、EntityFramework Core、ASP.NET MVC、ASP.NET WebAPi、SQL Server、ASP.NET Core等,当时头脑发热想重新学习前端写了一点点JavaScript,现在看一下当时写的JavaScript都不知道写的些什么玩意、而后工作用到AngularJs又重新学习了AngularJs。

最初所写博文也遭到前辈们的严厉批评,而后开始比较严谨的去叙述所写博文,后面开始着手写了几篇EntityFramework 6.x博文,具体时间忘记了,应该是在2015年底或者2016初吧,通过所写EntityFramework 6.x博文有几篇上了编辑推荐,然后成为了推荐博客,这是我万万没想到的事情。至此对自身要求更高了,对博文的错别字我算是比较挑剔,一篇博文写完,我会仔细看几遍基本保证不会出现太多错别字,对园友负责也是对自己负责,既然写了一篇博文,那么无论是代码也好抑或是言语表达也好都应该认真去对待。

然后时间到了2016年,这一年算是我写博文数量最多的一年,估计是那时候不太忙,哈哈,同时在这个过程中看到有大佬们通过博文方式告知已获得MVP荣誉,抱歉,之前确实不知道MVP这是什么,最后还是看的张善友大哥博文得知MVP是什么,当时心里热血澎湃想想啥时候我也能够获得个MVP,2016年年底刚开始只是询问张大哥有关MVP的问题,张大哥要我可以试一试,那就试一试吧,找了张大哥作为推荐人,后来因为MVP申请恰巧在这个时候进行了改革,目前MVP申请变为每月可申请,至此时间到了2017年4月份,这个时候填写了相关申请资料,至于结果完全没放心里,也没当回事,因为没啥竞争力啊,肯定上不了。

从申请到结果出来不到一个星期的时间,然后通知我通过了,微软中国MVP负责人当时微信通知我过了,我一脸懵逼,非常淡定的几次确认通过了么,因为我不敢相信,这是我万万没想到的事情,而后具体得知刚好在2016年这整整一年写的博文数量达到了七十几篇(主要是写了SQLServer系列,哈哈),访问量也还行,对于VS方向上申请的人数特多,最终就靠博文数量和质量以及访问量来作为竞争力,若是在Github上有开源项目,这样机会会更大,而我只是写了几个Demo而已,刚好踩线通过。

从写博客初始到至今写的最多的博文算是EntityFramework 6.x和EntityFramework Core,工作之外私下对EF和EF Core和关注和研究也最多,但是我从未想过我会出一本技术书,这是我万万没想到的事情,写书的目的很简单就是在我学习EntityFramework 6.x时发现国内资料太少,当然在博客园平台上也有不少EntityFramework 6.x的好文,我也是跟随前辈们的脚步在持续前行中,但是前辈们都没有持续更新且有些已经过时,写博客都很耗费时间更何况是写书呢?所以这也是很多低调的大佬们不写博客的原因。刚好也碰上EntityFramework Core的出现,借此良机我竭尽最大的能力写一本系统学习EntityFramework 6.x和EntityFramework Core的参考资料,里面包含了大部分我对EF和EF Core的理解,若您看后感觉不过尔尔,那我只能说能力至此,实属抱歉,若您看后感觉收获颇丰,那我成就感满满,也是对我的认可。

写书是一桩太耗时间和精力的事情,除非是工作要加班和特别忙的时候就会搁置一下,除此之外将所有时间全部用在了写书上,基本都是熬夜到凌晨几点。刚开始我还是斗志昂扬,奋劲十足,越到后面明显感觉后劲不足,这就像喝了二锅头似的,后劲很烧脑,不过还是坚持了下来。同时呢,对于书中言语理应言简意赅,在表达上也更加苛刻,我们写博文可以随心所欲,反正是给自己看,无考虑其他。

写书是一个重新梳理技术自成体系的过程,在写EF 6.x时为了兼顾到EF 6、EF 6.1、EF 6.2不同版本之间的差异性,在不同版本之间进行切换,这需要我通过查询大量相关资料去核对和验证,同时让我也对不同版本之间特性也有了一定的了解,虽然现在有些忘记了,脑海中还是有印象。

写博、写书感受

无论是写博还是写书都需要我在技术的这条道路上一直不停迭代更新,也就是所说的持续学习,读过无论是人生抑或是技术相关的书感觉依然无法把握好自己的人生。不知您是否有和我有一样的感触和懊恼。

为什么周围的人一直在不断的成长,而且成长的速度我们也可见,而有的人却依然毫无长进。

我们每每都会看到这样的新闻,许多运动员退役之后穷困潦倒,但是有的人却能干出一番事业比如李宁。同样是写文章,比如在简书上,为何有的人写了两年就出书了,而且成为了畅销书作家,而有的人埋头苦写依然毫无作为呢?是不是因为他们背后有如天助神力或者说天生就是吃这口饭的人呢?在我看来,显然不是这样。

除开极少数比如少年班的神童,绝大多数在我们看起来非常厉害的人,虽然所从事领域不同,但是他们身上似乎有某种共性,造成的这种差异并非偶然,可能有潜在的必然。这种共性我们可称之为思维模式上的不同即-成长型思维

成长型思维的人认为无论出身环境如何,自身天赋如何,笃定都可以通过自身的努力来改变并且成长。固定思维的人认为从成长的环境就决定了自己的命运,不管后期如何努力,结局都不会得到改变。

在《异类》这本书中通过大量的实例证明一个结论,任何事情通过一万小时理论基本都会得到实现,一万小时理论中所注重的是刻意练习,反观成长型思维其实刻意练习也是建立在此之上。那么对于固定思维的人和成长型思维的人在处理事情的方式上有何不同呢?对于固定思维的人,遇到问题时往往会唯唯诺诺,最终则是放弃。对于成长型思维的人,他们想的是利用什么手段来达到自己的目的,从而突破自己。

当固定思维的人说这不可能的时候,成长型思维的人正为将不可能的事情演变成可能忙的不可开交。

有些人可能对此进行反驳或者更加有疑惑了,我很努力了啊,为什么依然毫无起色,我只能说可能是你的方法不恰当导致。比如我们在看一篇技术博客时,我们应该先看到它的好处,再批评它的坏处,任何东西都有好与坏、正与反,这和我们吃东西一样,只有经过了消化才能摄取营养。与成长型思维等同的则是开放性心态,秉承开发性心态的人,会有更强的好奇心。他们的态度则是去探索或者寻找事物背后隐藏的逻辑和原因。他们乐于去接受一个新知的世界,并且把未知看做是一种冒险。与固定思维等同的则是封闭性心态,简而言之,就是用自己熟悉的概念,去解释新事物。他们喜欢从不同的事物之间寻求相同,从而提取其共性,自以为抓住了事物的规律和本质。他们乐于将一个新知的世界,改造成自己熟悉且稳定的世界。那么封闭性心态或者固定思维是不是一定就是不好的呢?很显然也不是,我们将未知的事物通过我们以往的经验解释成我们熟悉的资源,这样可以降低注意力上的消耗,帮助我们将精力放在更重要的事情上。

但是,封闭性心态,是每每遇到一个新的概念,都会将其拆解,并用自己已有的知识网络结构来解释和替代,它会不断强化固有的知识网络节点,但是并不会增加任何节点,所以到头来收获不到什么。而,开放性心态,是每每遇到一个新的概念,哪怕暂时无法解释,也会将其纳入大脑体系,同时新增一个节点,再然后不断尝试将它和固有的知识节点建立强有力的联系,最终会不断增加新节点,扩大知识网络范围。如果我们大脑中的知识网络越广,越来越丰富,我们对事物的理解就会越全面,越加有效,所以开放性心态优于封闭性心态。开放性心态的人完全不会担心自己的认知会被颠覆,因为他们无时无刻都在怀疑和修补自己的认知,相比稳定感即安逸感,他们更乐于追求新鲜和未知的东西。

成长型思维或者开放性心态的人在面对挑战和困难时,往往抱着试一试的心态。固定思维或者封闭心态的人,非常害怕挑战,他们害怕自己的表现比如自己想象中的那么优秀。

当领导安排事情给我们时,如果这件事情我们之前从未接触过,此时对于封闭性心态的人则会推脱或者避开。因为封闭性心态害怕尝试挑战自己不熟悉的工作,觉得这不是我擅长的事情,觉得我无法胜任,觉得我根本做不好,最终导致失去了提升能力的机会,长此以往,久而久之,在熟悉的岗位做着自己烂熟于心的事情,结果将是工作能力未提升,技能也停滞不前。

大卫.库伯提出过一个库伯学习圈。他认为学习一个新的技能和概念,需要经过如下这么一个循环。

具体经验----------------------------------------->反思----------------------------------------------->抽象性概括-------------------------------------------------->应用于实践

只有走完这一个流程,才能学会某一个知识点,这就叫做内化。走完整个流程最终形成自己的一套体系,只有这样,我们才能不断更新、完善自己的知识体系网络。大多数人都在追求快速高效,这并不是真正的学习方式,只是在缓解学习不足而带来的焦虑感而已。

学习的本质,在于获取新知,而聚焦于知道。

再次致谢

只见过张善友大哥,与其他几位大佬素未谋面,不知是否能够得到大佬们的认可,怀着忐忑的心情去找大佬们写推荐,结果大佬们很快写完就交给我了,在此表示感谢,感谢dudu老大、何镇汐大哥,张善友大哥,赵培(好基友),邹琼俊大哥,感谢大佬们在百忙之中抽空为本书做推荐,感谢大佬们对本书的认可和支持。这里额外打个小广告:何镇汐大哥现作为.NET Core中国社区项目成员之一,以一己之力开发.NET Core平台下的应用框架(https://github.com/dotnetcore/Util),感谢何镇汐大哥对.NET Core所作出的贡献,同时也期待有志之士能够参与进来,共建.NET Core生态圈。同时也感谢博客园平台给我机会和大家分享技术,感谢每一位阅读我博文的园友们,是你们的支持和批评使我在技术的道路上越走越远。

评论送书规则

6月、6、7、8总计3天,在本帖,每天10点的第一个回帖评论者,分别赠送本书1本(如果您要签名留作纪念的话在评论中可告知,虽然我字写的很丑)。

同一ID不可以重复参与活动,重复的话,取紧接着的下一个人。不允许用程序刷屏,一旦发现,取消资格。

明确确认您满足以上规则后,请写下您的地址、姓名、邮编、手机号给我,以便后续邮寄。

出版购买通知

现可在淘宝、京东上购买《你必须掌握的Entity Framework 6.x与Core 2.0》书籍,博客右侧给了京东上面的一个购买链接,后面陆续可在亚马逊等上购买,想要购买电子版的童鞋可能还需要再等一等,我也在等出版社那边对电子版出版的通知。同时即将推出ASP.NET Core MVC课程,详情可扫描下方右边二维码关注我,有任何课程方面的疑问可加我QQ了解。

原文地址:https://www.cnblogs.com/CreateMyself/p/9141931.html

时间: 2024-10-30 12:11:59

《你必须掌握的Entity Framework 6.x与Core 2.0》正式出版感想的相关文章

《你必须掌握的Entity Framework 6.x与Core 2.0》勘误

第5章 5.1.1----致谢网友[宪煌] public virtual ICollection Post {get;set;} 修改为 public virtual ICollection<Posts> Post {get;set;} 原文地址:https://www.cnblogs.com/CreateMyself/p/9185621.html

Entity Framework的查询

Entity Framework是个好东西,虽然没有Hibernate功能强大,但使用更简便.今天整理一下常见SQL如何用EF来表达,Func形式和Linq形式都会列出来(本人更喜欢Func形式). 1.简单查询: SQL: SELECT * FROM [Clients] WHERE Type=1 AND Deleted=0 ORDER BY ID EF: //Func形式 var clients = ctx.Clients.Where(c => c.Type == 1 && c.D

Entity Framework 6 Recipes 2nd Edition(9-3)译-&gt;找出Web API中发生了什么变化

9-3. 找出Web API中发生了什么变化 问题 想通过基于REST的Web API服务对数据库进行插入,删除和修改对象图,而不必为每个实体类编写单独的更新方法. 此外, 用EF6的Code Frist实现数据访问管理. 本例,我们模拟一个N层场景,用单独的客户端(控制台应用)来调用单独的基于REST服务的Web网站(WEB API应用) . 注意:每层使用单独的Visual Studio 解决方案, 这样更方便配置.调试和模拟一个N层应用. 假设有一个如Figure 9-3所示的旅行社和预订

Entity Framework 学习

Entity Framework 学习初级篇1--EF基本概况... 2 Entity Framework 学习初级篇2--ObjectContext.ObjectQuery.ObjectStateEntry.ObjectStateManager类的介绍... 7 Entity Framework 学习初级篇3-- LINQ TOEntities. 10 Entity Framework 学习初级篇4--EntitySQL. 17 Entity Framework 学习初级篇5--ObjectQ

异常:error 0152: No Entity Framework provider found for the ADO.NET provider with invariant name &#39;System.Data.SqlClient&#39;

error 0152: No Entity Framework provider found for the ADO.NET provider with invariant name 'System.Data.SqlClient' error 0152: No Entity Framework provider found for the ADO.NET provider with invariant name 'System.Data.SqlClient'. Make sure the pro

初次开发 ASP.NET vNext 续篇:云优化的概念、Entity Framework 7.0、目前性能还不够好

继续上一篇<开发 ASP.NET vNext 初步总结(使用Visual Studio 2014 CTP1)>之后, 关于云优化和版本控制: 我本想做一下MAC和LINUX的self-host测试,但是官方说运行环境的MONO版本至少需要3.4.1,我去年买了个表,至本文发布为止,你让我下地狱去找3.4.1吗,硬着头皮用3.4.0搞了一晚上,MAC一直停留在 httpapi.dll出错,Ubuntu Server 12.0.4 是不认其中的几个DLL包,具体哪几个也忘了,过段时间有了稳定版本再

Entity Framework Code First for SQL Compact

这篇博客将介绍EF Code First中如何使用SQL Compact.SQL Compact是微软推出的免费的关系型数据库,目前最新版本是SQL Compact 4.0.微软的开发工具VS 2010/SQL Server 2008及后续版本中均不带有SQL Compac 3.5/4.0t数据库查看工具.不过CodePlex上有一个SqlCeToolbox的工具非常不错.有点儿像精简版的SQL Server Management Studio. SQL Compact可以用于以下的一些场景,例

Linux + Mono 目前已经支持Entity Framework 6.1

在上个随笔 CentOS上 Mono3.2.8运行ASP.NET MVC4经验中,步骤2中要求卸载EF 5.0,这样才能在Linux + Mono的环境中运行ASP.NET MVC4的Web应用.今天,没有卸载EF 5.0的情况下,使用NuGet新安装了EF 6.1.0,如下图(使用VS012英文版), 图1: 新安装了Entity Framework 6.1.0,同时EF5.0没有卸载,可在图片中看到两个EF共存 图1中的这个网站是一个接近完成的完整网站,在其它各项配置都与 CentOS上 M

Entity Framework工具POCO Code First Generator的使用

在使用Entity Framework过程中,有时需要借助工具生成Code First的代码,而Entity Framework Reverse POCO Code First Generator是一款不错的工具 在Visual Studio中,通过"工具"→"扩展和更新..."来安装Entity Framework Reverse POCO Code First Generator 这里添加一个控制台项目,并在项目中添加POCO Code First Genera