2012-06-04 4 views
0
@foreach (var item in Model) { 
    @Html.ActionLink(item.RATES.Average(item => item.rate)), "ShowRates", "Track", new { track_nr = @item.TRACK_NR, [email protected]_ID}, null) 
<br> 
} 

Я пытаюсь показать среднее значение RATES, RATES - это таблица в моей базе данных, состоящая из целых чисел в столбце. Visual studio говорит мне, что я должен дать функцию в качестве параметра. Но у меня нет идеи, как создать эту функцию?Linq average, функция параметра

+0

Я думаю, что проблема может быть, что у вас есть дополнительные близкие скобка там (после «пункта .ставка)"). Уберите это, и я не вижу никаких проблем с этим кодом .... –

ответ

1

Добавление этих функций в представление сделает его уродливым, я скорее добавлю это как aproperty моей модели и сделаю это вычисление в своем контроллере перед отправкой этих данных в представление.

public class AlbumViewModel 
{ 
    public int ALBUM_ID { set;get;} 
    public string TRACK_NR { set;get;} 
    public decimal AVERAGE_RATE{ set;get;} 

} 

Ваш метод Действие

public ActionResult GetAlbums() 
{ 
    var albums=rep.GetAlbmums(); 
    foreach(var album in albums) 
    { 
     album.AVERAGE_RATE=album.Rates.Average(); 
    } 
    return View(albums);  
} 

И в моем Clean View,

@foreach (var item in Model) 
{ 
    @Html.ActionLink(item.AVERAGE_RATE, "ShowRates", "Track", new { track_nr = @item.TRACK_NR, [email protected]_ID}, null)  
} 
+0

Спасибо, это выглядит намного чище. Но у меня все еще есть проблема, что я должен поставить параметр Func <> as. Как я могу создать эту функцию? – user1408786

+0

@ user1408786 какой func? более подробные сведения – Shyju

+0

. Средний (<Цены, десятичный?> селектор) (+9 перегрузки) – user1408786

Смежные вопросы