如何解决在我的查询中,EF核心中是否有更好的方法仅由于父键而加入父表?
我使用的是EF内核,有时我仍然在如何加载数据上感到挣扎。
在SQL中,我将像这样构建查询:
SELECT i.Id,i.HeaderSliderPageId,i.Active,i.ImageURL,i.Content,i.SortOrder
FROM headersliderimage i
RIGHT JOIN headersliderpage p on p.Id = i.HeaderSliderPageId
WHERE p.WebpageId = 1
现在在ef核心中,我正在使用此
var data = from i in db.HeaderSliderImage
join p in db.HeaderSliderPage.Where(p => p.WebpageId == webpageId) on i.HeaderSliderPageId equals p.Id
select i;
这可行,但是我不确定这是否可行。或者,如果我应该使用“ Incude”。但由于ID我只引用了parant表。
我的方法还可以吗?或者有更好的方法来解决这个问题? 感谢您对此事的帮助!
解决方法
两个表之间的映射是一对多吗?
您实际上不需要手动连接表-EF会为您做到这一点。因此,您可以编写以下内容:
db.HeaderSliderImage
.Where(image => image.HeaderSliderPage.WebpageId == webpageId)
.ToList()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。