我正在尝试加入三个SALES,PRODUCT和USERS表。 从他们的ID中获取来自DB的PRODUCT和USER名称 SALES表。
问题是:它只计算并获得销售表第一行的结果。
这是守则。
var saleslist = (
from sale in db.Sales
join p in db.Products on sale.sale_id equals p.product_id
join u in db.Users on sale.user_id equals u.user_id
select new SalesView
{
sale_id = sale.sale_id,
sale_amount = sale.sale_amount,
sale_time = sale.sale_time,
product_name = p.product_name,
user_name = u.user_first_name
}).ToList();
return View(saleslist);
SalesView是一个模型类,用于在视图中显示计算结果。
任何人都可以帮忙吗?答案 0 :(得分:0)
您在Products
表上的加入不正确。变化
join p in db.Products on sale.sale_id equals p.product_id
到
join p in db.Products on sale.product_id equals p.product_id
答案 1 :(得分:0)
考虑到您具有正确的联接属性,请尝试以下操作:
var saleslist = (
from sale in db.Sales
join p in db.Products on sale.sale_id equals p.product_id into temp
from t in temp join u in db.Users on t.user_id equals u.user_id into temp2
from t2 in temp2
select new SalesView
{
sale_id = sale.sale_id,
sale_amount = sale.sale_amount,
sale_time = sale.sale_time,
product_name = t.product_name,
user_name = t2.user_first_name
}).FirstOrDefault();
return View(saleslist);