C# 如何从c中的匿名select语句返回多个值#
我想在c#中返回该用户以及该用户的所有匹配项目。 我的代码如下所示:C# 如何从c中的匿名select语句返回多个值#,c#,linq,asp.net-core,C#,Linq,Asp.net Core,我想在c#中返回该用户以及该用户的所有匹配项目。 我的代码如下所示: [HttpGet("{userId}/{projectId}")] public IActionResult GetProjectByUserId(int userId, int projectId) { var project = from up in _context.UserProjects where up.ProjectId == projectId &
[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);
}
您的查询请求具有特定ProjectID的项目。删除
up.ProjectId==ProjectId