簡體   English   中英

linq在子查詢中有最大日期

[英]linq with max date in sub query

我需要選擇一個連接到具有status和插入DateTime的另一個表的記錄。 我希望與AgreementStatuses對應的記錄具有最大Date_Created

from c in Agreements 
    join a in AgreementStatuses on c.Agreements_ID equals a.Agreements_ID
    join s in Statuses on a.Statuses_ID equals s.Statuses_ID
where DateTime.Now > c.BeginDate
    && DateTime.Now < c.TermDate
    && c.ControlPlan_ID == 31
    && s.StatusText == "Promoted"
    && c.AlphaPrefix == "PEH"
    && c.States_ID == 33
    && a.Date_Created == (from n in AgreementStatuses  //ERROR HERE
        join y in Statuses on n.Statuses_ID equals y.Statuses_ID
        where y.StatusText == "Promoted"
        && n.Agreements_ID == 584
        group n by n.Agreements_ID into g
        select new {Date_Created = g.Max(t=>t.Date_Created)}).FirstOrDefault()
select c

錯誤:

Operator '==' cannot be applied to operands of type 'DateTime' and '<anonymous type: DateTime Date_Created>'

謝謝jdweng。 這樣做了。

from c in Agreements 
    join a in AgreementStatuses on c.Agreements_ID equals a.Agreements_ID
    join s in Statuses on a.Statuses_ID equals s.Statuses_ID
where DateTime.Now > c.BeginDate
    && DateTime.Now < c.TermDate
    && c.ControlPlan_ID == 31
    && s.StatusText == "Promoted"
    && c.AlphaPrefix == "PEH"
    //&& c.States_ID == 33
    && a.Date_Created == (from n in AgreementStatuses 
        join y in Statuses on n.Statuses_ID equals y.Statuses_ID
        where y.StatusText == "Promoted"
        && n.Agreements_ID == a.Agreements_ID
        group n by n.Agreements_ID into g
        select g.Max(t=>t.Date_Created)).FirstOrDefault()
select c

暫無
暫無

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

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