首页 > 解决方案 > WebApi / OData 关系数据奇数

问题描述

我注意到,当我从 API 控制器(在本例中为 ODataController)返回集合时,我不需要显式使用“包含”语法,并且仍然可以使用 OData“$Expand”访问属性。

但是,当返回一个结果时,我必须明确包含我的内容。我正在寻找关于为什么以及可能有关关系数据如何工作的配置的信息的解释。

以下是返回单个记录的代码(api/Projects?$Expand=Customer 没有包含将无法工作):

ProjectEntity project = _Db.Projects.Where(i => i.Id == id).FirstOrDefault();
return Ok(_AutoMapper.Map<ProjectDto>(project));

这是返回单个记录的代码(api/Projects?$Expand=Customer 将在没有包含的情况下工作):

IQueryable<ProjectEntity> projects = _Db.Projects;
return Ok(_AutoMapper.ProjectTo<ProjectDto>(projects));

标签: c#asp.net-coreentity-framework-coreodatawebapi

解决方案


推荐阅读