[英]Return from linq query
下面這個查詢怎么返回linq
public SewaPeralatan FindByNotaSewa(string notaSewa)
{
var dataSewa =
from sp in _context.SewaPeralatan
join spd in _context.SewaPeralatanDetails on sp.Id equals spd.SpId
where sp.NotaSewa == notaSewa
select new { sp, spd };
return dataSewa.FirstOrDefault();
}
返回得到這樣的錯誤
"Cannot implicitly convert type '<anonymous type: SYN.Models.SewaPeralatan sp, SYN.Models.SewaPeralatanDetail spd>' to 'SYN.Models.SewaPeralatan'"
我對返回的期望是能夠從 SewaPeralatanDetail 表中獲取數據 SewaPeralatanDetail 表包含來自 SewaPeralatan 表的詳細信息
如果您使用的是 EF,則可以像這樣使用 linq 返回SewaParlatan
public SewaPeralatan FindByNotaSewa(string notaSewa)
{
var dataSewa =
_context.SewaPeralatan
.Where(b => b.NotaSewa == notaSewa)
.Include(b => b.SewaPeralatanDetails)
.FirstOrDefault();
return dataSewa;
}
您需要將方法返回類型更新為tuple
。 如下,
public (SewaPeralatan, SewaPeralatanDetail) FindByNotaSewa(string notaSewa)
{
}
你應該像這樣改變內部方法,
var dataSewa = from sp in _context.SewaPeralatan
join spd in _context.SewaPeralatanDetails
on sp.Id equals spd.SpId
where sp.NotaSewa == notaSewa
select (sp, spd);
return dataSewa.FirstOrDefault();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.