Service
//取得單一帳號寶寶
public Baby_info_Entity getUsersAllbaby(int userid)
{
var baby = from a in _MyDbContext.BabyInfo
where a.Users.Id == userid
select a;
return baby;
}
Controller
[HttpGet("{userid}")]
public ActionResult<Baby_info_Entity> getUserAllbaby(int userid)
{
var Result = _BabyInfoService.getUsersAllbaby(userid);
if(Result == null)
{
return NotFound("尚未新增寶寶");
}
else
{
return Result;
}
}
在Service那邊的 Return Baby 報錯
Cannot implicitly convert type 'System.Linq.IQueryable<BabyRecords_Server.Entities.Baby_info_Entity>' to 'BabyRecords_Server.Entities.Baby_info_Entity'. An explicit conversion exists (are you missing a cast?
請問是哪邊出了問題
試試更改成
//取得單一帳號寶寶
public Baby_info_Entity getUsersAllbaby(int userid)
{
var baby = (from a in _MyDbContext.BabyInfo
where a.Users.Id == userid
select a).FirstOrDefault();
return baby;
}
在定義linq查詢表示式時,查詢是不會執行
只有在使用 ToList(),ToArray(),First(),FirstOrDefault()...這類方法才會執行語句
了解更多可以搜尋 linq 延遲查詢