SQL语句进入LinQ语句

时间:2015-12-22 21:06:20

标签: c# mysql sql linq

最近我正在开发一个C#项目,我试图在LINQ C#中做一个困难的SQL语句。但我不知道该怎么做。

以下是声明:

SELECT *
FROM members 
INNER JOIN group_has_members ON members.ID = group_has_members.members_ID 
WHERE group_has_members.group_ID != 1 
AND group_has_members.members_ID NOT IN(SELECT group_has_members.members_ID 
FROM group_has_members 
WHERE group_has_members.group_ID = 1)

如果你帮助我会很好:D 你的弗洛里安

3 个答案:

答案 0 :(得分:1)

我认为你需要这样的东西,我没有测试这个查询,但它将是这些方面的东西。有关一些想法,请参阅How would you do a "not in" query with LINQ?

var mem = from m in members 
          join gm in group_has_members on m.ID equals gm.members_ID
          where gm.members_ID != 1 && 
              !(from ghm in group_has_members
                where ghm.group_ID = 1
                select ghm.members_ID).Contains(gm.members_ID)
          select m;

对于这个,一个很好的工具是LinqPad,如果你刚刚开始。您可以将SQL粘贴到窗口中并查看linq等效项。

答案 1 :(得分:1)

检查此转换器, 我希望它对你有所帮助

http://sqltolinq.com/

答案 2 :(得分:0)

如果您当前有一个查询,并且您将在基于linq to SQL的项目中重用它,则无需再次使用同一查询来获取linq语义。 您可以使用“执行”命令直接使用查询。

https://msdn.microsoft.com/it-it/library/system.data.linq.datacontext.executecommand(v=vs.110).aspx