Sql server 有人能帮我把这个sql查询转换成linq吗
我需要将此SQL查询转换为链接:Sql server 有人能帮我把这个sql查询转换成linq吗,sql-server,asp.net-mvc,linq,Sql Server,Asp.net Mvc,Linq,我需要将此SQL查询转换为链接: "Select * FROM [Register] where RegisterId IN (SELECT MyId FROM Friends WHERE FriendId='" + Session["CurrentProfileId"] + "' AND Status=1
"Select * FROM [Register]
where RegisterId IN (SELECT MyId
FROM Friends
WHERE FriendId='" + Session["CurrentProfileId"] + "'
AND Status=1
UNION
SELECT FriendId
FROM Friends
WHERE MyId='" + Session["CurrentProfileId"] + "'
AND Status=1) ";
它可能看起来像这样???但这是不正确的,并且存在错误
(from u in db.Register
where RegisterId).Contains
(from f in db.Freinds
where f.MyId == Id && m.Status == 1
select new { m.MyId })
.Union(from m in db.Freinds
where f.FreindId == Id && m.Status == 1
select new { m.CreateDate } ));
您对上面的linq有一些问题,以下是一些问题:
Union
中的查询中选择CreateDate
,而在顶部选择MyId
。我想您是想选择FreindId
RegisterId
进行比较,后者可能是guid
/字符串
/int
——但确保不是您刚才创建的类型Contains
方法错误。Linq语法可以类似于sql,但不同。在这里查看var idsCollection = ((from f in db.Freinds
where f.StatusId == 1 && f.MyId == Id
select f.MyId)
.Union(from m in db.Friends
where m.StatusId == 1 && f.FreindId == Id
select m.FriendId)).ToList();
var result = (from u in db.Register
where idsCollection.Contains(u.RegisterId)
select u).ToList();
请注意,
.ToList()
不是必须的,只是为了方便调试。有关此.ToList()
和Linq的更多信息,请查看MSDN您需要了解什么?林克?C#?MSSQL?我正在学习LINQ,我需要将Sql查询转换为LINQ,我在LINQ中苦苦挣扎。事实上,我在Asp.net mvc中做所有这些工作,在LINQ中面临问题。考虑删除您的问题,因为它不太相关。我的问题很简单,如何将上层Sql查询转换为LINQ。仅此而已!吉拉德·格林,你太棒了,它工作得很好,尊敬你,先生,非常感谢Much@UmerKhan-显然,您在标记后意外地取消了标记,但无法解决最后一行和R.RegisterId=会话[UserId]对不起-吉拉德·格林-我其实不想伤害你!你帮了我,我是你的粉丝。请忽略它