(实战)WebApi第11讲:后端获取数据库中数据。【领域和视图模型、(Models、Entities、Controllers)、贪婪模式(导航属性)、Link多张表】

一、写前端代码,页面准备

1、新建JobRecruitmentDemo.Ul文件夹,通过VSCode打开

ca16932a5b2840289075424d2d05989f.png

2、新建文件夹和html文件,运行代码查看前端界面

0e83adb88af14f1aabddb39f64e04950.png

0ab0679b10814bf98196bdcdfc30afed.png

54b4c758baac4df38292c3d95e8d77b5.png

注意:前端改了代码,界面能够实时更新(不用刷新)的方法:在终端输入live-server

9983c85c5c4d473a9b9f8ca17a3a13d2.png

1fc24c873993436db51791541749505b.png

二、把领域模型(Entities)和视图模型(ViewModels)隔开,理解领域模型下的导航属性

1、创建Models文件夹,创建JobViewModel.cs文件用于展示Job前端

714a0663fb6144239ee149fc860c9c4c.png

2、把Entities里的Jobs.cs复制粘贴进JobViewModel.cs

        注意:最下面两个方法要去掉virtual

3、把领域模型和视图模型隔开的意义:不仅仅是为了“复制”,而是为了创建一个新的层次或表示,用于与前端交互。

        将领域模型(Entities)中的Jobs.cs复制粘贴到视图模型(ViewModels)中的JobViewModel.cs,并不仅仅是为了“复制”,而是为了创建一个新的层次或表示,用于与前端交互。

1>领域模型:关注如何有效地表示和操作业务数据。

        包含了业务规则、数据验证逻辑以及与其他实体的关系。

2>视图模型:是为了展示层(如Web API的控制器或前端界面)而设计的,它通常只包含展示所需的数据和属性。

        包含领域模型中的数据,但通常会根据前端的需求进行裁剪、重组或添加额外的展示信息(如格式化字符串、UI提示等)。

711bec95388040e2b1d9baf5304b3697.png

578f0c5ce7174cf9a9b15e291290efca.png

4、导航属性:理解“四、贪婪加载模式”时要用

1>导航属性是在领域模型中定义的

        领域模型代表了业务逻辑和数据之间的关系,而视图模型则是为了展示层(如Web API的控制器或前端界面)而设计的,它通常只包含展示所需的数据和属性。

2>理解导航属性

        如上上图,在模型中,Job 实体有一个指向 Cities实体的导航属性(public virtual  Cities  WorkPlaceNavigation { get; set; })和一个指向 Company 实体的导航属性(public virtual   Company Company { get; set; })。

1)通过导航属性里设置的名称,去访问两个外键依赖的表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小吴同学·

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值