Linq to SQL - 计算查询返回的对象的属性

时间:2011-07-18 00:21:30

标签: linq-to-sql

我有一个返回一组对象的查询,在这种情况下是事件......

现在我想从标量数据库函数的返回值设置这些事件的值。我尝试使用代码中的函数来设置属性,但我得到的是“没有支持的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 :(得分:0)

您可以查询内存中的集合:

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