c# - 从内部连接返回数据而不创建新对象
问题描述
我有一个问题,我无法找到解决方案,我想要的是从这个查询中返回数据,我也使用 aspnetboilerplate。
这是我的课
public List<Student> GetStudentWithCityName()
{
var a = from s in _studentRepository.GetAll()
join c in _cityRepository.GetAll() on s.City_Id equals c.Id
select new {name = s.Name });
return ObjectMapper.Map<List<Student>>(a);
}
通过这个查询,我创建了新对象并且它s why don
不起作用(至少我认为)那么有什么解决方案可以解决这个问题吗?
解决方案
您得到的异常来自自动映射器的对象,告诉您映射配置不存在。您正在使用 Student 映射匿名类型。
直接选课Student
。您不需要单独映射。只需将您的 select 子句替换为:
select new Student
{
Name = s.Name
}
和return a.ToList();
或者:您也可以使用 Auto Mapper 的 LINQ 投影,更多信息在这里 -> https://docs.automapper.org/en/stable/Queryable-Extensions.html
推荐阅读
- reactjs - 如何将 Material UI 中的 BOX 组件用于不同的屏幕尺寸?
- node.js - 在 openapi-generator-cli nodejs-express-server 后面编写 Node 业务逻辑
- javascript - 使用 React,单击后退按钮时,视图正在正确更新,但 URL 未正确更新
- reactjs - 错误:在使用 fetch 从 api 收集数据时,对象作为 React 子项(找到:[object Promise])在反应中无效
- javascript - TypeError 提供的 fullPermissions 不是带有斜杠命令权限的 GuildApplicationCommandPermissionData 数组(v13 Discord.js)
- reactjs - React 在我们的页面上获取 iframe 播放视频的图像并将其保存到本地驱动器的最佳方法是什么?
- python - 无法为 Python 3.9 64 位运行 PythonWin
- android - Flutter Google Maps - 将相机移动到当前位置
- python - Selenium 等待 HTML 元素更改
- r - 与缓冲区内其他多边形相交的多边形区域