Muszę wykonać wyszukiwanie, aby zwrócić wartość, muszę zrobić to suma mnożenia dwóch pól. Mam następujący kod:Wykonaj mnożenie w SQL
internal double TotalRes(long Id)
{
double total = 0;
Reserve rAlias = null;
var query = Session.QueryOver<Item>();
query = query.JoinAlias(e => e.Reserve,() => rAlias);
query = query.Where(() => rAlias.Id == Id);
query = query.Select(Projections.Sum<Item>(acct => acct.Ammount * acct.Wight));
object result = query.UnderlyingCriteria.UniqueResult();
if (result != null)
total = Convert.ToDouble(result);
return total;
}
To daje następujący błąd:
the variable 'acct' type 'tem' is referenced in scope '', but it is not set
Jak mogę zwrócić tę wartość?
Czy 'Projekcje' są twoją klasą czy jest częścią nhibernate? (Nigdy nie używał biblioteki) –
możliwy duplikat [Expression.Lambda: Zmienna 'x' typu '', do którego odwołuje się z zakresu '', ale nie jest zdefiniowany] (http://stackoverflow.com/questions/9778749/expression- lambda-variable-x-of-type-referced-from-scope-but-it-is-n) –
Jego część nhibernate @ScottChamberlain –