将SQL查询转换为LINQ查询

时间:2014-08-08 13:07:30

标签: sql linq entity-framework linq-to-sql

有人可以帮我将这个SQL查询翻译成LINQ

select * from server where server.GruppenName like ( select Gruppen.Name from Gruppen where Id = 1 )

我试过以下

db.Server.Where(b => b.GruppenName == db.Gruppen.First(c => c.Id == 1).Name);

但没有运气。

谢谢,

马丁

2 个答案:

答案 0 :(得分:2)

db.Server
    .Where
    (
        x=>
            db.Gruppen
            .Where(g=>g.Id == 1)
            .Select(g=>g.Name)
            .Contains(x.GruppenName)
    );

答案 1 :(得分:1)

方法语法

db.Server.Where(s => db.Gruppen.Where(g => g.Id == 1)
                               .Where(g => g.Name.Contains(s.GruppenName))
                               .Any());            

查询语法

var query = from s in db.Server
            where (from g in db.Gruppen
                   where g.Id == 1
                   where g.Name.Contains(s.GruppenName)
                   select s).Any()
            select s;