2014-10-10 87 views
0

我正在爲我的數據庫訪問使用實體框架。在linq查詢中獲取最小值

其中一個實體是產品,而產品可以有許多條款。

這裏的期限類:

public partial class Term 
{ 
    public short ID { get; set; } 
    public short ProductID { get; set; } 
    public byte TermSegmentID { get; set; } 
    public byte MinTerm { get; set; } 
    public byte MaxTerm { get; set; } 


    public virtual Product Product { get; set; } 
} 

已經選擇了我的所有產品的列表,我一直試圖在小項退回的最低值 - 這對所有的產品,而不是每一個的最低值。

任何人都可以幫忙嗎?這對我有限的知識來說很困難。

在此先感謝。

回答

0

請問ProductTerms屬性?如果是的話,它很容易:

var minMinTerm = products.SelectMany(product => product.Terms) 
         .Min(term => term.MinTerm); 

SelectMany方法「變平」的順序 - 所以你最終的條款的單個序列,每一個從產品的條款序列的邏輯串聯。

1

這應該做你想要什麼:

byte minTerm = yourProducts.SelectMany(x => x.Terms).Min(x => x.MinTerm);