在SQL中进行乘法运算

Ped*_*nco 6 c# queryover

我必须做一个搜索来返回一个值,我要做的是两个字段相乘的总和.我有以下代码:

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;
}
Run Code Online (Sandbox Code Playgroud)

它给出以下错误:

变量'acct'类型'tem'在范围''中引用,但未设置

我怎样才能归还这个值?

Rod*_*ira 1

Try to do something like this in the mapping, using formula.

Map(c => c.total).formula("(select sum(Ammount * Wight) from acct)");
Run Code Online (Sandbox Code Playgroud)