Linq to SQL - вычисление свойства объекта, возвращаемого запросом - PullRequest
1 голос
/ 18 июля 2011

У меня есть запрос, который возвращает набор объектов, в данном случае событий ...

Теперь я хочу установить значение для этих событий из возвращаемого значения функции скалярной базы данных. Я пытался сделать это, используя функцию в коде для установки свойства, но я получаю «не поддерживает перевод в SQL». ошибка, которая имеет смысл (поскольку там невозможно перевести этот код в SQL), но как я могу это сделать?

Я хочу вернуть объекты типа события, поэтому проекция анонимного типа не годится.

Вот код:

var query = (from e in db.Events 
             select SetDistanceProperty(
                   e, db.DistanceBetween(lat, lon, e.Latitude, e.Longitude)));

private static Event SetDistanceProperty(Event e, double? distance)
{
    if(distance != null)
        e.DistanceFromLocation = (double)distance;
    return e;
}

1 Ответ

0 голосов
/ 18 июля 2011

Вместо этого вы можете запросить коллекцию в памяти:

(from e in db.Events.ToList() 
    select  SetDistanceProperty(e, 
              db.DistanceBetween(lat, lon, 
                   e.Latitude, e.Longitude)));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...