簡體   English   中英

Linq返回不正確的值

[英]Linq returning incorrect values

我有一個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
        });
}

並非所有活動項都從查詢中返回。

就個人而言,該語句的語法似乎很好。 但是我想知道其他人對此的看法。

我調試了該語句,這就是為什么我知道問題出在語句本身之內的原因。

我的建議是問題出在userTypeID ,如果Entities.UserTypePrice缺少該產品,則不會退貨。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM