一起返回两个Entity Framework查询结果

我是ASP.NET(CORE)和实体框架的新手!我正在尝试使用下面的代码片段一次返回两个单独查询的结果。 QueryToReturn是一个类,其中包括projectgoal类和projectType类作为列表。 _context是DbContext。

List<Projectgoal> projectgoal = new List<Projectgoal>();
List<ProjectType> projectType = new List<ProjectType>();

projectgoal = _context.Projectgoal.ToList();
projectType = _context.ProjectTypes.ToList();

QueryToReturn FinalItems = new QueryToReturn();
FinalItems.projectgoal = projectgoal;
FinalItems.projectType = projectType;

return Ok(FinalItems);

我做对了还是丢失了什么?如何使用LINQ完成?预先感谢。

zj7887912 回答:一起返回两个Entity Framework查询结果

如果我是对的,您想将两个类作为列表返回到您的视图。

创建一个额外的类来合并您的2个列表。

型号

public class QueryToReturn
{
    public List<ProjectGoal> projectGoal { get; set; }
    public List<ProjectType> projectType { get; set; }
}

public class ProjectGoal
{
    public string somevariable { get; set; }
}

public class ProjectType
{
   public string somevariable2 { get; set; }
}

创建一个主类的对象,并用数据库内容填充2个列表。

控制器

public IActionResult Index()
{
        QueryToReturn FinalItems = new QueryToReturn();
        FinalItems.projectGoal = _context.projectGoal.ToList();
        FinalItems.projectType = _context.ProjectTypes.ToList();
        return View(FinalItems);
}

在视图中使用对象。

查看

@model Projectname.Models.QueryToReturn

<select>
      @foreach (var item in Model.projectGoal)
      {
           <option>@item.somevariable</option>
      }
</select>

我不确定从实体列表转换为类是否那么容易。但是应该可以。我就是这样处理的。

本文链接:https://www.f2er.com/3153037.html

大家都在问