.net core 对于Singleton、Scoped、Transient的疑问

我见别人的代码基本都是声明接口和接口实现 然后services.add Singleton、Scoped、Transient, 然后在控制器中直接使用,对于使用不同的orm 他们有的用Transient模式 有的用Singleton模式,我该如何确定我使用哪种模式.

还有一个疑问就是 比如我直接创建一个类,然后我直接在控制器中new出来就可以直接使用,没必要services.add 然后再使用啊,我们且不谈编码风格与规范这么做会带来什么后果呢.

https://blog.csdn.net/weixin_34072159/article/details/85971949