程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> EF中無法使用時間轉字符串,ef無法轉字符串

EF中無法使用時間轉字符串,ef無法轉字符串

編輯:關於.NET

EF中無法使用時間轉字符串,ef無法轉字符串


場景:

查詢條件需要使用到時間類型,且需要特殊格式化,例:ToString("yyyy-MM-dd");即,在需要使用時間進行like方式處理時;

此時,用如下方式:

var q = from c in context.HasDateModels where c.UserDate.ToString("yyyy-MM-dd").Contains("20") select c; 

進行查詢使用;

提示:LINQ to Entities 不識別方法"System.String ToString(System.String)",因此該方法無法轉換為存儲表達式

即:Linq to Entities不支持帶參數的時間字符串轉換

 

解決方法:

以下方法只適用於數據量較小的情況,同時建議,使用此法,若有其他條件,建議先進行一次Linq to Entities篩選後再處理以下情況;

var q = from c in context.HasDateModels.AsEnumerable() where c.UserDate.ToString("yyyy-MM-dd").Contains("20") select c; 

原理:利用AsEnumerable將使用方式轉化為Linq to Object,即將數據查詢至內存後再進行篩選

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved