我有两个表Parts
和Blob
。
数据库部分
Id name x y z partimageid
-----------------------------------
1 bolt 30 40 5 4
2 screw 33 4 6 null
db.Blob
Id content name
------------------------------
4 fsbfvb picture.png
如何获得带有图像内容的零件细节?
目前我正在这样做:
public async Task<IHttpActionResult> GetPart(int id)
{
var result = from part in db.Parts
join image in db.Blob on part.PartImageId equals image.Id
where part.Id == id
select new { part, image.Content};
return Ok(result);
}
它正在工作,但是如果没有图像-部分也为null。我在这里做什么错了?
答案 0 :(得分:0)
您的LINQ语句作为INNER JOIN执行。如果您想要左联接,则可以将其修改为如下所示:
var result = from part in db.Parts
join image in db.Blob on part.PartImageId equals image.Id into images
from image in images.DefaultIfEmpty()
where part.Id == id
select new { part, image.Content};