本文是我最近粗略学习.Net的备忘录。怕自己忘了可以回来看看。
可能有理解不对的地方。
我只会java,同时对springboot了解。
现在需要快速学习C#和.Net,目的是能把框架大致看懂,能连上数据库(postgresql)写接口。
说明:
1. 为什么不先学习C#:看了一部分文档,感觉语法太多,而我时间不够,故决定一边学框架一边查不懂的语法。
2.跟着文档学行不行:可以,但是.Net文档非常详细,我想先把整体框架了解起来,再详细看每一部分。
一、对比两个框架快速建立.Net项目
1.下载安装vs2019
我是企业版
使用.Net5.0(注意只有2019才支持5.0,我卸了2017重装的)
安装时组件选择ASO.NET和Web开发(必要)、C++桌面开发、.NET桌面开发这三个。
2.创建.NET项目
(未标注均为默认)
3.对比springboot进行框架理解和配置
事先说明我的springboot也只是半吊子水平
(1)首先导包-类比pom
对应目录:
.net的包有类似maven的管理器,可以在类似pom文件的地方导包,但是更多的是直接用这个管理器
以下是我装的几个包(不一定全有用,但是全装上可以运行)。我会在每一个包要用到的地方提示导包。
(2)配置文件-类比application.yml/properties
导包:
默认的东西我不动,只在这里加上对数据库的配置:
蓝色的部分填自己的,Database是数据库名。
这里要说明以下:使用codefirst(先有代码再有数据库)而非dbfirst。要完成自动配置只需要数据库存在School这个数据库(总之这里先创建一个名为School的空白的数据库,别的不用管)
------以下施工中……
(3)创建实体Models-类比Entity
(4)创建数据库上下文Context-类比Mapper
导包:Microsoft.EntityFrameworkCore.InMemory
(5)向依赖注入(DI)容器注册数据库上下文
我理解为没注册不能在controller使用
(6)codefirst生成数据库表
打开程序包管理器控制台,输入指令
(7)生成接口-类比Controller
这时按照springboot习惯应该是写Service层,但是.Net并没有这一层,我理解为业务也写在Controller里了。
(8)测试
框架已集成swagger,也可以用postman
我都试了试
4.其他备注
(1)注释快捷键ctrl+k+c;取消ctrl+k+u
(2)c#和java的区别上,一定要注意lambda表达式,因为我本来就对这个不熟,各种看不懂
在controller层用得非常多
(3)……