一、写前端代码,页面准备
1、新建JobRecruitmentDemo.Ul文件夹,通过VSCode打开
2、新建文件夹和html文件,运行代码查看前端界面
注意:前端改了代码,界面能够实时更新(不用刷新)的方法:在终端输入live-server
二、把领域模型(Entities)和视图模型(ViewModels)隔开,理解领域模型下的导航属性
1、创建Models文件夹,创建JobViewModel.cs文件用于展示Job前端
2、把Entities里的Jobs.cs复制粘贴进JobViewModel.cs
注意:最下面两个方法要去掉virtual
3、把领域模型和视图模型隔开的意义:不仅仅是为了“复制”,而是为了创建一个新的层次或表示,用于与前端交互。
将领域模型(Entities)中的Jobs.cs
复制粘贴到视图模型(ViewModels)中的JobViewModel.cs
,并不仅仅是为了“复制”,而是为了创建一个新的层次或表示,用于与前端交互。
1>领域模型:关注如何有效地表示和操作业务数据。
包含了业务规则、数据验证逻辑以及与其他实体的关系。
2>视图模型:是为了展示层(如Web API的控制器或前端界面)而设计的,它通常只包含展示所需的数据和属性。
包含领域模型中的数据,但通常会根据前端的需求进行裁剪、重组或添加额外的展示信息(如格式化字符串、UI提示等)。
4、导航属性:理解“四、贪婪加载模式”时要用
1>导航属性是在领域模型中定义的
领域模型代表了业务逻辑和数据之间的关系,而视图模型则是为了展示层(如Web API的控制器或前端界面)而设计的,它通常只包含展示所需的数据和属性。
2>理解导航属性
如上上图,在模型中,Job
实体有一个指向 Cities
实体的导航属性(public virtual
Cities
WorkPlaceNavigation { get; set; }
)和一个指向 Company
实体的导航属性(public virtual
Company Company { get; set; }
)。