[英]Entity Framework load data with left join lambda
I want to load from a specific id the list include details with lambda. 我想从特定的ID加载列表,其中包括Lambda的详细信息。
I tried it with following code: 我用以下代码尝试了它:
// Load User Visitor list
var list = await Context.UserVisitors
.Where(s => s.UserId.Equals(userOwner.Id))
.Select(s => s.UserVisitorId)
.ToListAsync();
foreach (var t in list)
{
UserOwnerVisitors.Add(await Context.User
.Include(u => u.Details)
.Include(u => u.Settings)
.FirstAsync(u => u.Id.Equals(t)));
}
The code works, but it is not efficient. 该代码有效,但是效率不高。 How I can do it in one request with lambda?
如何使用lambda在一个请求中做到这一点?
Thanks in advance. 提前致谢。
I am a little bit blind, as I don't know all your model's relationship, but below you can find what I think is your model, if you edit your question I can perhaps give you an exact answer: 我有点盲目,因为我不知道您所有模型的关系,但是在下面您可以找到我认为的模型,如果您编辑问题,我也许可以给您确切的答案:
var UserOwnerVisitorsList = from uv in Context.UserVisitors
join u in Context.User
on uv.UserId equals u.Id
join det in Context.Details
on det.UserId equals u.Id
join set in Context.Settings
on set.UserId equals u.UserId
where uv.UserId == userOwner.Id
select u;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.