8,497
社区成员
发帖
与我相关
我的任务
分享
var list = (from p in ctx.mf_Product
join c in ctx.mf_Cart
on p.ProductID equals c.ProductID
select new { Price = login.UserLevel.getPrice(p.Price) * c.BuyCount }).ToList();
decimal total = list.Sum(s => s.Price);
Response.Write(total);
var list = (from p in ctx.mf_Product
join c in ctx.mf_Cart
on p.ProductID equals c.ProductID
select new { Price = p.Price,BuyCount = c.BuyCount }).ToList();
decimal total = list.Sum(s => login.UserLevel.getPrice(s.Price) * s.BuyCount);
Response.Write(total);
var list = (from p in ctx.mf_Product
join c in ctx.mf_Cart
on p.ProductID equals c.ProductID
let Price = login.UserLevel.getPrice(p.Price)
select new { Price = Price * c.BuyCount }).ToList(); //如果不进行乘法计算,是可以foreach出数据的。
foreach (var s in list)
{
Response.Write(s.Price + "<br>");
}
login是我一个自定义获取单价的方法。
public decimal getPriceForName(string UserName, decimal Price)
{
return Price * (from p in ctx.mf_UserLevel orderby p.Lower where getUser(UserName).Amount >= p.Lower && getUser(UserName).Amount < p.Upper select p).Take(1).First().Discount / 100;
}
on p.ProductID equals c.ProductID
let price = login.UserLevel.getPrice(p.Price)