Linq返回错误的值

时间:2013-12-26 16:30:07

标签: c# linq

我有一个返回错误数据的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
        });
}

并非所有活动项都从查询中返回。

就个人而言,语句语法似乎没问题。但我想知道其他人对此的看法。

我调试了语句,这就是我知道问题在语句本身内的原因。

1 个答案:

答案 0 :(得分:4)

我的建议是问题出在userTypeID,如果Entities.UserTypePrice遗漏,则不会退回产品。