2011-07-18 58 views
1

返回上對象的屬性我有一個返回一組對象,事件,在這種情況下查詢......LINQ到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; 
} 

回答

0

您可以查詢內存中的集合,而不是:

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