asp.net core, ef.net core, 啥玩意?

piao2004 2021-05-13 06:58:53
知道asp.net core也有些年头了,但我一直没有时间去碰。直到最近看到.net5出来了,听说这是下一代的asp.net,可能就像当年asp.net之于asp一样吧,想想再不接触就落后了,然后想想,还是把一个比较小的公司内部web应用改成asp.net core写一下(用的是.net5)

用了几天,写一点自己的感觉。纯粹是体验了几天的初级感受。
首先我个人感觉,一个技术平台的更新, 要么是提高运行效率,要么是提高项目的团队协作性和持续可维护性。但是我这几天体验下来,完全没有这些感觉,网上说core比framework效率高了2-3倍,可能是吧,但是我们这些小项目,也体会出不来。

然后,core的最主要意义是什么?是跨平台。
可是我写了十几年.net,还没有需要跨平台的需求啊,绝大多数项目也不需要跨平台吧。使用.net写的项目,客户您就听话给我们配一台windows服务器,装上sqlserver数据库,没有必要突然说要换成别的服务器系统吧?

再看那些cshtml,web app项目也好,core mvc项目也罢,都不是真正意义的前后端分离嘛。
是的,页面上再也没有那些<% %>了,但是换上了各种@,那不就是换种写法吗?一个cshtml里面各种@符号,感觉回到了asp时代。

其实从几年前开始开展app开发业务,从app开发中得到的灵感:
写app(含安卓、苹果、微信小程序等,同理)的人负责写app界面和逻辑,
写服务器端的人负责写后端代码,
两者通过约定的json格式进行数据交互,
那么,web网页项目也可以这样写嘛。写html的负责写html,然后通过ajax向服务器拿json数据,自己回来用js填充页面。
这样写服务器端的人一套代码可以给app用,也可以给web页面用。
感觉挺好的。各人的分工也明确。特别是写后端代码的,不需要懂html5, css3,他只负责提供和接收数据,写入数据库。。。

再说ef.net core,什么玩意?
除了换一种写法,还是什么意义?
听说他的意义是如果换数据库服务,不用改代码,它会自动生成对应的sql语句(比如mssql改mysql的话),可是不好意思,我感觉一个项目用着用着要改数据库的可能性真的很低,至少我是十多年没有遇到过。可能对那些需要整天改数据库系统的团队来说,这是一个天大的好处。
然后再说效率,据说ef.net基于ado.net,那效率肯定是不如ado.net的吧,那直接用ado.net它不香吗?有时一个比较复杂的查询,用sql语句几分钟调试通过,用ef的话,搞半天不知道怎么写哈
...全文
2154 34 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
34 条回复
切换为时间正序
请发表友善的回复…
发表回复
紫魂一号 2021-05-21
  • 打赏
  • 举报
回复
夸什么平台,我就只搞过给手机端写接口。。这算不算跨平台?
wang_peng 2021-05-18
  • 打赏
  • 举报
回复
引用 35 楼 小灰狼 的回复:
[quote=引用 1 楼 wang_peng 的回复:]我也用一年多了,和楼主感受全完一样 你说的很对,微软的东西,从来都是雷声大,雨点小. 网上说core比framework效率高了2-3倍,这个得分人
这个效率指的是啥? 运行效率还是开发效率? 个人觉得,如果是运行效率的话,就没必要纠结比较了 就比如一个逻辑处理,低效率的,要花1毫秒,高效率的,0.1毫秒,相差一个数量级。但是,运算之前要读数据库,需要10毫秒,完事之后要更新数据库,也要10毫秒,处理结果还要和第三方平台接口进行通信,比如有几个HTTP协议的接口,每个都要用几个毫秒。 一翻折腾下来,这运行效率之类的提升,可以忽略不计了,有那工夫,还不如想想怎么优化数据库设计之类的 [/quote] 现在谈的效率,肯定是不包括具体业务或者说具体逻辑处理,否则标准都不一样,没法比较. 要比的例如说,asp.net mvc生命周期和.net core mvc的生命周期的执行效率比较. .net formword的wcf和 net core的grpc比较等等 数据库优化肯定重要,但在这里不是重点,楼主发贴不包括数据库方面的
小灰狼 2021-05-18
  • 打赏
  • 举报
回复
引用 1 楼 wang_peng 的回复:
我也用一年多了,和楼主感受全完一样 你说的很对,微软的东西,从来都是雷声大,雨点小. 网上说core比framework效率高了2-3倍,这个得分人
这个效率指的是啥? 运行效率还是开发效率? 个人觉得,如果是运行效率的话,就没必要纠结比较了 就比如一个逻辑处理,低效率的,要花1毫秒,高效率的,0.1毫秒,相差一个数量级。但是,运算之前要读数据库,需要10毫秒,完事之后要更新数据库,也要10毫秒,处理结果还要和第三方平台接口进行通信,比如有几个HTTP协议的接口,每个都要用几个毫秒。 一翻折腾下来,这运行效率之类的提升,可以忽略不计了,有那工夫,还不如想想怎么优化数据库设计之类的
ying1234 2021-05-17
  • 打赏
  • 举报
回复
跨平台还是有意义的,不要认为自已公司都是用windows服务器,就认为跨平台无意义,这是以后基本趋势,你以后就业面也大些。
ying1234 2021-05-17
  • 打赏
  • 举报
回复
EF的确意义不大,除非你的项目 明确要求针对不同数据库的版本,这样EF方便。
正怒月神 版主 2021-05-17
  • 打赏
  • 举报
回复
其实你想想10年前,.net和java平分web天下。 到现在.net的情况, 就会明白,他们为什么要开源,要跨平台了。
郑剑1996 2021-05-17
  • 打赏
  • 举报
回复
引用 27 楼 wanghui0380 的回复:
https://www.cnblogs.com/myshowtime/p/14775585.html https://www.cnblogs.com/myshowtime/p/13806631.html 我在放两篇,看看这些真正做技术的和那波收智商税的到底有啥不同。 很明显真正做技术的,都是干货。没有爆点,不会故意给你装大神,搞神秘,而且这些文章都是一样的,nuget,service,config。而且统统不会给你说啥razor,EF,这里的第2篇告诉你他用vue + Antv + ElementUI,用freesql不行么??当然如果你真理解了,我们说没啥不行,你想用啥用啥,你就算用当年的sqlhelper也行 我说博客园的,不是说这些真正做技术的,我说是那波“刻意制造爆点,刻意收智商税,刻意抢排名的”----------(博客园改版把排名隐藏了,你猜是哪些人闹得最凶,是哪些些人联名建议把排行放回去的,对了,我得说请避开那些人,他们可不是真正给你写技术文章的)
题主老哥思想比较固化,不明白啥叫给客户提要求装个winserver 跑个 sqlserver就可以,低端物联网设备都没有跑windows的,语言编程平台上不了linux系统本来就是很失败的事情,再说这几年大家也看到了java工资也高新人也多,.net 在慢慢被淘汰,不做改变,只会走诺基亚的老路子,到时候dotnet栈的都没啥好日子过了,说实话真得感谢微软这么搞。但老哥意思就是微软那帮人吃饱了撑的要花功夫修改平台呗。
wanghui0380 2021-05-17
  • 打赏
  • 举报
回复 1
https://www.cnblogs.com/myshowtime/p/14775585.html https://www.cnblogs.com/myshowtime/p/13806631.html 我在放两篇,看看这些真正做技术的和那波收智商税的到底有啥不同。 很明显真正做技术的,都是干货。没有爆点,不会故意给你装大神,搞神秘,而且这些文章都是一样的,nuget,service,config。而且统统不会给你说啥razor,EF,这里的第2篇告诉你他用vue + Antv + ElementUI,用freesql不行么??当然如果你真理解了,我们说没啥不行,你想用啥用啥,你就算用当年的sqlhelper也行 我说博客园的,不是说这些真正做技术的,我说是那波“刻意制造爆点,刻意收智商税,刻意抢排名的”----------(博客园改版把排名隐藏了,你猜是哪些人闹得最凶,是哪些些人联名建议把排行放回去的,对了,我得说请避开那些人,他们可不是真正给你写技术文章的)
ziqi0716 2021-05-17
  • 打赏
  • 举报
回复
关于跨平台,这个是趋势,尤其是web服务。国产化大潮下,能在非Windows系统下运行是很多项目招标的硬性要求,只是你还没有遇到而已。
哈哈gogo 2021-05-17
  • 打赏
  • 举报
回复
.net 6马上也要出了
小灰狼 2021-05-17
  • 打赏
  • 举报
回复
跨平台、跨数据库我遇到过 是一个项政府项目,原来跑在 Windows 上的,用 Oracle 数据库 但是,由于近几年一些大家知道的原因,最近客户要求政府项目必须逐步开始实现国产化。啥意思呢,就是说服务器、路由器、操作系统、数据库之类的东西,要求全部转成国产的,除非实在没有国产货了。 服务器,华为有,操作系统国内有个UOS,你猜得没错,它就是linux的一个发行版,国内某企业拿内核改了改,数据库国内也有不少,最后选择了达梦。系统原了来就是用 java 开发的,跨平台没毛病,数据访问层用的 hibernate,虽然号称跨数据库,但因为也支持程序员编写原生sql,所以代码还是得仔细审,好在系统不用重新写。 那个项目是公司的主打项目,也是公司成立的原因,并且它还是从别的公司嘴里抢过来的肉。如果项目不支持跨平台、跨数据库,这块肥肉有的是公司过来抢!
楠小南 2021-05-17
  • 打赏
  • 举报
回复
其实 asp.net COre 的开发 就像 吃自助餐一样, 我们就充当着 厨师 ,按照菜谱将菜做出来,然后再上架, 让客人可以随便选择 如果某一天,我们发现 有个菜过期了,可以将他下架, 或者用其他菜替上。 这里是想告诉你,一个菜 并不代表什么,没了他 这个店一样可以运营 而 razor 充其量只是一个剁椒鱼头 ,EF 就是一个红烧茄子 并且 最关键的就是,这个店 不止有中国菜, 还有日本菜 ,法国菜 ,意大利菜 等等
足球中国 2021-05-17
  • 打赏
  • 举报
回复
引用 楼主 piao2004 的回复:
知道asp.net core也有些年头了,但我一直没有时间去碰。直到最近看到.net5出来了,听说这是下一代的asp.net,可
引用 1 楼 wang_peng 的回复:
我也用一年多了,和楼主感受全完一样 剩下的真的没什么
引用 2 楼 wanghui0380 的回复:
不是啥玩意?所以无需纠结 访问数据了,你们咋不争了,因为他们还不会,所以没的争,当然也有故意藏着准备收下一波智商税的
https://dbrwe.blog.csdn.net/article/details/41422687 https://dbrwe.blog.csdn.net/article/details/116431758
wang_peng 2021-05-16
  • 打赏
  • 举报
回复
.net core 也好,java也好,都是工具,分情况,分环境吧, 以前我们还用remoting呢.一样用了十几年,一样可以高并发.  用改.net core 存是为了试试.还有找工作的时候啊,多少能占点优势
wanghui0380 2021-05-16
  • 打赏
  • 举报
回复
https://bbs.csdn.net/topics/399172663 看看我们在这里问题的回复,在来说看我上面说的未来的开发模式,你觉着呢?无论是那个开博4.5年的新人博主,还是老外们努力像你传递的意思。未来你们是这样进行开发的,无论你是web,还是windows 服务,还是linux守护进程,还是Blazor,还是mamu,还是其他任何类型的开发 你首先要明白的不是啥Rozor,EF,你首先第一位要明白的是: IhostBuilder,WebHostBuilder,service这套东西,这才是netcore(包括asp.net core web)第一层级的东西,这块都还木折腾清楚,你就闹的化,没啥理由的 另外那个开博4.5年的博主,其实也算博客园上难得不放烟雾弹,不收智商税的博主 https://www.cnblogs.com/chenug/p/6869109.html 他可没跟你折腾啥Razor,EF,这可是真正真正的干货。如果你能把这篇的每一行代码都搞清楚,Razor,EF就是全扔了又如何,就是全扔了,你还能继续在这行干个10年
wanghui0380 2021-05-15
  • 打赏
  • 举报
回复
另外在告诉你个巧,请把上面那个博主的文章都读一遍。 人家开博4年(我就当他6年工)用,思维和技术比你这10多年的强多了。 ps:不要不服气,我这种20年的都能接受改变 你个17年的小伙子有啥不服不忿的
wanghui0380 2021-05-15
  • 打赏
  • 举报
回复
至于啥子EF,从头到尾我就没说啥。因为根本就不需要说。 一个做了10年的程序员讨论一个数据库,还要脸不? 你还打算玩redis么,玩clickhose,玩neo4j,玩nosql不 嘿嘿,他们都是数据库拉。 我们讨论EF?难怪neter被人说是最弱一群程序员呢
wanghui0380 2021-05-15
  • 打赏
  • 举报
回复
引用 16 楼 piao2004 的回复:
[quote=引用 15 楼 wanghui0380 的回复:]https://www.cnblogs.com/chenug/p/ToolGood_Words_Sample.html 看的懂这篇文章,你们才有资格闹,可惜这种文章木人看,因为这吸引不了眼球,没有爆点,搞不来粉丝,收不了智商税 这文章告诉你们什么?告诉你们未来的开发模式 1.所有的未来组件会面向netcore的ihost这套体系开发 2.你需要做的是用nuget找到他 3.你只需要在Servcie.add一下,config配置一下
哈哈哈,这位仁兄的生活该得多么的失败和无趣,才能造就这么低素质的人格啊! 第一:我一开始就表明:这是我使用了几天.net core 5的个人感受,您一直扯博客园干什么? 第二:我一开始讲的就是asp.net core,因为我原文第二行讲的就是在讲web项目。 第三:我的槽点就两点:一是cshtml中前后端代码混写,不符合当今时代。二是ef仍然沿用了ms的老套路:以性能为代码去换取开发上的便利性,这是要被唾弃的。无论在您心目中,.net core的框架有多好,前景有多好,思路有多好,但是这两点我还是要吐槽的。这就是我的感受,知道么? 哈哈哈[/quote] 如果说失败和低素质,也许正是兄弟你自己 1。反复告诉你,你的失败在于根本看错了自资料 2。同时不但看错了资料,反而自以为是认为那是别人的错 3。你的同时你的帖子本身也充满失败的意味。我想问问你到底多少年没看过真正的技术书了。你到底用你入行时的东西弄了多少年了。 居然会说我从做app的人身上领悟到了webapi,我的说兄弟这是10年前就有的东西好不拉 ps:教你个巧,卖你个乖。免得你做一个得意洋洋的lost 打开vs,新建asp.net core mvc webapi看看是啥
闪耀星星 2021-05-15
  • 打赏
  • 举报
回复
跨平台,.NET在改变开源思想
piao2004 2021-05-15
  • 打赏
  • 举报
回复
引用 15 楼 wanghui0380 的回复:
https://www.cnblogs.com/chenug/p/ToolGood_Words_Sample.html

看的懂这篇文章,你们才有资格闹,可惜这种文章木人看,因为这吸引不了眼球,没有爆点,搞不来粉丝,收不了智商税

这文章告诉你们什么?告诉你们未来的开发模式
1.所有的未来组件会面向netcore的ihost这套体系开发
2.你需要做的是用nuget找到他
3.你只需要在Servcie.add一下,config配置一下

哈哈哈,这位仁兄的生活该得多么的失败和无趣,才能造就这么低素质的人格啊!
第一:我一开始就表明:这是我使用了几天.net core 5的个人感受,您一直扯博客园干什么?
第二:我一开始讲的就是asp.net core,因为我原文第二行讲的就是在讲web项目。
第三:我的槽点就两点:一是cshtml中前后端代码混写,不符合当今时代。二是ef仍然沿用了ms的老套路:以性能为代码去换取开发上的便利性,这是要被唾弃的。无论在您心目中,.net core的框架有多好,前景有多好,思路有多好,但是这两点我还是要吐槽的。这就是我的感受,知道么?
哈哈哈
加载更多回复(14)

62,244

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧