Выпустить Linq в рамках сущности? - PullRequest
2 голосов
/ 17 ноября 2011

Может ли кто-нибудь оптимизировать этот linq в сущности:

<code>
var query = from s in context.Spots
            where (s.Lat - s.Long) <= radius
            orderby (s.Lat - s.Long) ascending
            select new { SpotId = s.SpotId, Distance = (s.Lat - s.Long)};
</code>

Я хочу оптимизировать математическую формулу (s.Lat - s.Long). Я не хочу использовать это три раза!

Спасибо

1 Ответ

4 голосов
/ 17 ноября 2011

Вы можете использовать предложение let :

var query = from s in context.Spots
        let dist = (s.Lat - s.Long)
        where dist <= radius
        orderby dist ascending
        select new { SpotId = s.SpotId, Distance = dist};
...