EntityModel和面向外部的Model
EntityModel主要面向数据库,用来表示数据库里的数据。
面向外部的Model表达了要传输的东西,通常称为Dto或ViewModel
其中,面向外部的Model与EntityModel的差别
- Dto会对EntityModel进行一个易于展示的处理
- Dto会对EntityModel中不合适的内容进行处理
- Dto会将多个EntityModel中的数据进行拼接,多表查询。
这样做的好处是:更加健壮、可靠、易于进化。
ActionResult与IActionResult
Controller返回值的三种形式:
- UserDto
- ActionResult<UserDto>
- IActionResult
ActionResult相当于具体的实现。ActionResult<UserDto>
使用直接返回值比较清晰,但所提供的信息并不完整。不可以使用OK()。
IActionResult可以返回OK(),不能直接返回值。
ActionResult<UserDto>,两者都可以使用,且使用swagger时可以更清楚地显示要返回的值类型。
AutoMapper
包:AutoMapper.Extensions.