Martin
Martin

Reputation: 123

Translate SQL Query into LINQ Query

can someone help me to translate this SQL query into LINQ

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

I have tried following

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

but no luck.

Thanks,

Martin

Upvotes: 1

Views: 147

Answers (2)

Aducci
Aducci

Reputation: 26694

Method Syntax

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

Query Syntax

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;

Upvotes: 1

Giannis Paraskevopoulos
Giannis Paraskevopoulos

Reputation: 18421

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

Upvotes: 2

Related Questions