NET和ASP.NET分别是什么?

.NET是微软的一个开发平台,其主要核心就是.NET Framwork,这个平台的一大特点就是跨语言性,不管是什么语言,c、c++、c#、F#、J#、vb等语言都可以用这个平台合作开发;

ASP.NET是一个网站开发的技术,是.NET里面的一个模型,也是目前的一种主流开发网站的技术;

NET和ASP.NET区别是什么?

(1)ASP.NET是一个网站开发的技术,.NET是一个平台。

(2).NET分成两个方面:一个是WinForm,另一个是WebForm,也就是说一个基于Windows窗体,另一个基于Web窗体。

而ASP.NET是一个网站开发的技术,是WebForm,用于生成基于Web的应用程序的内容丰富的编程框架。

随记1 诞生史

1999年,.net framework诞生

2015年,.net core诞生,跨平台

2016年 开源.net core

2020年 合并成.net 5

随记2 abp和ef core

ef core是基于.net core开发的

abp框架是基于asp.net core开发的

abp集成了ef core,并且abp提供多租户的接口,efcore自动将多租户加入sql语句条件里

随记3 IL代码

c#源代码会被编译成符合规范的中间语言IL,IL代码和其他资源会被存储在.dll的程序集中。

执行c#代码时,程序集将加载到CLR(公共语言运行时,类似jvm?),CLR再将IL转换成本机指令。

因为IL是一种规范语言,所以可以和.net版本的F#,C++生成的代码进行交互

随记4 类型

  • 值类型
    • 简单类型
      • 有符号整型
        • sbyte、short、int、long
      • 无符号整型
        • byte、ushort、uint、ulong
      • unicode字符
        • char
      • 浮点数类型
        • float、double
      • 高精度浮点数
        • decimal
      • 布尔值
        • bool
    • 枚举类型
      • enum E {····}格式
    • 结构类型
      • struct S {····}格式
    • 可以为null的值类型
    • 元组值类型
      • (T1,T2,···)格式
  • 引用类型
      • 基类 object
      • 字符串 string
      • 用户定义的class C {····}类型
    • 接口
      • interface I {···}格式
    • 数组
      • int[ ]、int[ ,](二维数组)
    • 委托
      • delegate int D(···)格式

支持泛型的有class、struct、interface和delegate类型

struct结构类型支持实现接口,不支持继承类

随记5 二维数组声明

int? optionalInt = default; ===> int? optionalInt = 0;

int [,] a = new int[1,5];

随记6virtual

在C#中,virtual 关键字用于声明一个虚成员,这意味着这个成员可以在派生类中被重写(override)。虚成员提供了一种机制,允许基类定义一个方法或属性的实现,但允许派生类提供自己的实现。

随记7不支持ADO.net

参考博客

随记8ADO.NET实体模型连接mysql

解决步骤

驱动下载地址

ctrl + K + D 自动排版

CLI EFCore工具

随记9 mysql for visual studio不支持vs2022

检查visual studio版本,如果是2022版,则需要重新安装一个低一点的版本。因为MySQL不支持visual studio 2022。

随记10 [HttpGet(Name = “get”)]和[HttpGet(“get”)]

[HttpGet(Name = “get”)]不是实际的路由,它知识swagger UI上的名称,如果有两个HttpGet,并且都指定了Name,那么swagger UI就会报错

[HttpGet(“get”)]则是实际的请求路由

随记11

.NetFrameWork和.Net认识