在Oracle11g中使用,使用LINQ。C#LINQ Oracle日期函數
C#代碼:
DateTime convertedMinStartDateForEvent = Convert.ToDateTime(minStartDateForEvent);
DateTime convertedMinEndDateForEvent = Convert.ToDateTime(minEndDateForEvent);
var query = (from myTableRec in uow.myTable
where myTableRec.startdate >= convertedMinStartDateForEvent && myTableRec.endDate < convertedMinEndDateForEvent
由LINQ生成的SQL給出
SELECT *
FROM <table>
WHERE start_date > '24/11/2012 00:00:00' and end_date < '28/11/2012 00:00:00'
這會導致Oracle錯誤: - 日期格式ORA-01830
問題使用的日期時,出現轉換整個輸入串
添加TO_DATE之前圖片結束該查詢修復了ORA-01830,因爲它將字符串轉換爲oracle日期,同時知道日期格式。
SELECT *
FROM <table>
WHERE start_date > TO_DATE('24/11/2012 00:00:00','DD/MM/YYYY HH24:MI:SS') and end_date < TO_DATE('28/11/2012 00:00:00','DD/MM/YYYY HH24:MI:SS')
那麼,有沒有辦法將TO_DATE添加到LINQ(for oracle)? 如果沒有,請告訴我如何解決此問題。
感謝
您是否使用了甲骨文的EntityFramework供應商?或者你使用了什麼LINQ? –
@KirillBestemyanov 我正在使用Mindscape Lightspeed ORM 謝謝 – user1079925
@ user1079925,'24/11/2012 00:00:00''從哪裏來?它來自「DateTime」變量嗎?或'串'?你也可以提供C#代碼嗎? –