首页 > 解决方案 > 从内部连接返回数据而不创建新对象

问题描述

我有一个问题,我无法找到解决方案,我想要的是从这个查询中返回数据,我也使用 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不起作用(至少我认为)那么有什么解决方案可以解决这个问题吗?

标签: c#asp.netlinqentity-framework-coreautomapper

解决方案


您得到的异常来自自动映射器的对象,告诉您映射配置不存在。您正在使用 Student 映射匿名类型。

直接选课Student。您不需要单独映射。只需将您的 select 子句替换为:

select new Student
{
   Name = s.Name
}

return a.ToList();

或者:您也可以使用 Auto Mapper 的 LINQ 投影,更多信息在这里 -> https://docs.automapper.org/en/stable/Queryable-Extensions.html


推荐阅读