如何在实体框架中为以下方案编写查询

本文关键字:方案 查询 实体 框架 | 更新日期: 2023-09-27 18:34:30

>Tables:

用户

userid       username     imageurl
1            venkat       http://test.jpg
2            raghu        http://test1.jpg
3            ravi         http://test2.jpg

朋友

id    userid    frienduserid     status
1     1           2              true
2     2           1              false

日志状态

id   userid   sessionid
1     1       7482748
2     1       8274282
3     2       3123123

如果我通过userid=1那么需要把他的朋友拉username,imageurl,status,他的任何朋友至少有一只sessionid然后给出"真实"的状态。

截至我能够加入用户,朋友表给他的朋友username,imageurlstatus。但是如何检查他中的任何一个至少有一只sessionid

我的查询:

var result = from pa in cxt.Users
             join us in cxt.Friends on pa.User_Id equals us.Friend_UserId
             where us.User_Id == incID 
             select new
                    {
                       us.frienduserid,
                       pa.User_Name,
                       pa.ImageURL,
                       us.status
                    };

如何在实体框架中为以下方案编写查询

var result = 
from user in cxt.Users
join friend in cxt.Friends on user.UserId equals friend.FriendUserId
where user.UserId == incId
select new
{
    FriendUserId = friend.FriendUserId,
    UserName = user.UserName,
    ImageUrl = user.ImageUrl,
    Status = cxt.LogStatus.Any(s=>s.UserId == user.UserId)
};