linq如何从var中获取值

use*_*606 4 linq c#-4.0

如何从以下LINQ查询中获取单个值?(我想获得DecalExpireDate,DecalExpireMonth和DecalExpireYear的值.)

var previousExpirationDate = (from d in db.CT_Decals
                              where d.TankID == decal.TankID
                              && d.DecalStatus == "Approved"
                              select new
                              {
                                  d.DecalExpireDate,
                                  d.DecalExpireMonth,
                                  d.DecalExpireYear
                              }).Max(d => d.DecalExpireDate);
Run Code Online (Sandbox Code Playgroud)

Tim*_*ter 11

我假设你想要得到的DecalExpireDate,DecalExpireMonthDecalExpireYear从具有最高(最后一个)元素DecalExpireDate.然后你可以按这个日期订购:

var latest = (from d in db.CT_Decals
             where d.TankID == decal.TankID && d.DecalStatus == "Approved"
             orderby d.DecalExpireDate descending
             select new
             {
                 d.DecalExpireDate,
                 d.DecalExpireMonth,
                 d.DecalExpireYear
              }).First();
var decalExpireDate  = latest.DecalExpireDate;
var decalExpireMonth = latest.DecalExpireMonth;
var decalExpireYear  = latest.DecalExpireYear;
Run Code Online (Sandbox Code Playgroud)