繁体   English   中英

如何从C#中的匿名select语句返回多个值

[英]How to return multiple values from anonymous select statement in c#

我想在C#中返回该用户以及该用户的所有匹配项目。 我的代码如下所示:

    [HttpGet("{userId}/{projectId}")]
    public IActionResult GetProjectByUserId(int userId, int projectId)
    {
        var project = from up in _context.UserProjects
            where up.ProjectId == projectId && up.UserId == userId
            select new
            {
                UserName = up.User.Username,
                ProjectName = up.Project.Name
            };

        return Ok(project);
    } 

结果我有一个用户并参与了项目:

  [
    {
        "userName": "tom",
        "projectName": "Portal"
    }
  ]

在我的情况下,“ Tom”有3个项目,我希望返回“ Tom”的每个项目,例如:

  [
    {
        "userName": "tom",
        "projectName": "Portal"
    },
    {
        "userName": "tom",
        "projectName": "Elanor"
    },
    {
        "userName": "tom",
        "projectName": "Kestrel"
    },
  ]

您的选择是好的,但是您的查询中有up.ProjectId == projectId,这将其限制为仅您为其提供ID的项目。

[HttpGet("{userId}/{projectId}")]
public IActionResult GetProjectByUserId(int userId, int projectId)
{
    var project = from up in _context.UserProjects
        where up.UserId == userId
        select new
        {
            UserName = up.User.Username,
            ProjectName = up.Project.Name
        };

    return Ok(project);
} 

删除up.ProjectId == projectId条件

[HttpGet("{userId}/{projectId}")]
public IActionResult GetProjectByUserId(int userId, int projectId)
{
    var project = from up in _context.UserProjects
        where up.UserId == userId
        select new
        {
            UserName = up.User.Username,
            ProjectName = up.Project.Name
        };

    return Ok(project);
} 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM