我有一个返回错误数据的LINQ语句。
我需要选择每个有效的产品,并根据登录的用户类型显示价格。(每个用户类型的价格不同)
我目前在数据库中有五个活动项目,但只有两个显示。
public IQueryable GetProductsForListViewByUserType(Guid userTypeID)
{
return
(from p in this.Entities.Product
join b in this.Entities.Brand on p.BrandID equals b.ID
join ut in this.Entities.UserTypePrice on p.ID equals ut.ProductID
where p.Active == true && ut.UserTypeID == userTypeID
select new
{
p.ID,
p.Name,
Price = ut.Price,
p.Description,
BrandName = b.Name,
p.Colour,
p.ImageURL
});
}
并非所有活动项都从查询中返回。
就个人而言,语句语法似乎没问题。但我想知道其他人对此的看法。
我调试了语句,这就是我知道问题在语句本身内的原因。
答案 0 :(得分:4)
我的建议是问题出在userTypeID
,如果Entities.UserTypePrice
遗漏,则不会退回产品。