亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 lambda 表達式中轉換可為 null 的 DateTime

在 lambda 表達式中轉換可為 null 的 DateTime

C#
絕地無雙 2023-07-09 16:20:10
使用 EF6,我想從數據庫 CALENDRIER 獲取 2019 年的所有對象,但 EF6 生成可為 null 的 DateTimes "DateTime?" 而不是通常的日期時間。因為我只需要年份,所以我可以使用日期時間中的年份字段來篩選列表,但它不適用于可為空的日期時間?;旧衔蚁脒@樣使用它:_db.CALENDRIERs.Where(c => c.CALE_DATE.Year == year).ToList();但我收到以下錯誤:'約會時間?' 不包含“Year”的定義,并且沒有可訪問的擴展方法“Year”接受“DateTime?”類型的第一個參數 可以找到...如何將它們隱式地投射到我的 lambda 表達式中?
查看完整描述

3 回答

?
30秒到達戰場

TA貢獻1828條經驗 獲得超6個贊

首先檢查 CALE_DATE 是否有值,然后使用 .Value

_db.CALENDRIERs.Where(c => c.CALE_DATE.HasValue && c.CALE_DATE.Value.Year == year).ToList();



查看完整回答
反對 回復 2023-07-09
?
守著一只汪

TA貢獻1872條經驗 獲得超4個贊

您必須訪問可Value為空類型的字段:


DateTime? nullableDt = DateTime.Now;

int year = nullableDt.Value.Year;


查看完整回答
反對 回復 2023-07-09
?
Helenr

TA貢獻1780條經驗 獲得超4個贊

您可以首先檢查 DateTime 對象是否不為 null,即它是否有值,然后您可以從中獲取 Year 屬性

_db.CALENDRIERs.Where(c => c.CALE_DATE.HasValue && c.CALE_DATE.Year == year).ToList();


查看完整回答
反對 回復 2023-07-09
  • 3 回答
  • 0 關注
  • 199 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號