Comment puis-je écrire une requête similaire à celui-ci dans LINQ to SQLTraduire cette requête SQL dans LINQ to SQL
SELECT Id, (Distance - someValue) as Res
FROM Table
WHERE Res < someOtherValue
ORDER BY Res
Comment puis-je écrire une requête similaire à celui-ci dans LINQ to SQLTraduire cette requête SQL dans LINQ to SQL
SELECT Id, (Distance - someValue) as Res
FROM Table
WHERE Res < someOtherValue
ORDER BY Res
MyTable
.Where(m => m.Res < 4)
.OrderBy(m => m.Res)
.Select(m => new {Id, Res = m.Distance - 4});
... où 4 est votre someOtherValue
Si vous préférez mot-style LINQ, il ressemblerait à quelque chose comme ceci:
from x in theTable
where x.Distance < someOtherValue + someValue
orderby x.Distance
select new { x.Id, Res = x.Distance - someValue }
vous pouvez utiliser l'instruction let pour éviter de calculer x.Distance - someValue deux fois, à savoir créez l'alias avant d'évaluer la condition where –
Pourquoi Res serait une colonne disponible, il a seulement été créé comme un alias dans le select? – Jacob
Vous venez de retourner un type anonyme, avec seulement les champs que vous voulez ... dans ce cas, l'Id et une colonne personnalisée appelée Red –