2012-04-11 40 views
0

在db表中,日期以yyyyMMdd格式存儲在char(8)字段中。 如何查詢日期範圍?linq to entities - 如何查詢存儲爲char的日期?

我試過以下,它不工作:

context.Where(p=> Convert.ToDateTime(p.Date) >= Convert.ToDateTime('20120411'); 
context.Where(p=> Convert.ToInt32(p.Date) >= Convert.ToInt32('20120411'); 
context.Where(p=> int.Parse(p.Date) >= int.Parse('20120411'); 

從我讀過一個可能的方法是使用EntityFunctions類,但我不知道如何構造查詢。任何想法如何做到這一點?

回答

0

轉換測試字符串日期:

context.Where(p=> Convert.ToDateTime(p.Date) >= DateTime.Parse("2012/04/11 00:00:00"); 
+0

LINQ實體無法識別方法「的System.DateTime ToDateTime(System.String)」方法,和這種方法不能被翻譯成商店表達。 – dm80 2012-04-11 21:03:15

0
context.Where(p=> p.Date.CompareTo("20120411") >= 0);