【发布时间】:2016-07-10 00:36:18
【问题描述】:
我是 ASP.NET 的新手,正在尝试处理一个示例项目。我知道这是一个愚蠢的问题,但请多多包涵。即使在 SQL 查询中返回了多行,我下面的代码也只返回一个结果。我意识到 FirstOrDefaultAsync 只返回第一个元素。我在这里浏览了文档:https://msdn.microsoft.com/en-us/library/system.data.entity.queryableextensions(v=vs.113).aspx,但我找不到使用什么来代替 FirstOrDefaultAsync,它不仅会返回第一行,还会返回与我的 SQL 条件匹配的所有内容。
这是我目前的代码:
[ResponseType(typeof(Region))]
public async Task<IHttpActionResult> GetRegion(int id)
{
var region_id = from sr in db.ServiceToRegions
where sr.Service_ID == id
select sr.Region_ID;
var region = await db.Regions.Select(r =>
new
{
Region_ID = r.Region_ID,
Region_Name = r.Region_Name
}).FirstOrDefaultAsync(r => region_id.Contains(r.Region_ID)); //QQQ
if (region == null)
{
return NotFound();
}
return Ok(region);
}
我应该使用什么来代替 FirstOrDefaultAsync?
【问题讨论】:
-
试试 .Select (...) msdn.microsoft.com/en-us/library/bb548891(v=vs.100).aspx
标签: c# linq asp.net-web-api