0
我正在使用實體從客戶的SQL表中抽取一些數據,並且想根據日期對其進行過濾。客戶將每行的相關月份存儲爲YYYYMM格式的6位字符串。我試圖解決這個(因爲我不能列類型更改爲DATETIME2)已創建一個SQL視圖,做以下操作以創建代表當月DATETIME2列:實體將所有日期時間轉換爲Jan 1
CONVERT(datetime2, MON.Month + '01') AS CoveredMonth
然後裏面。 NET,我有兩個DateTime對象,yearStart和yearEnd,代表2016年1月1日和2017年1月1日,以及我正在查找的特定員工的記錄。我有以下代碼嘗試在此列過濾:
IList<MonthlyRecord> monthlyRecords = m_LTContext.MonthlyRecords
.Where(r => r.EmployeeID == employee.ID && r.CoveredMonth >= yearStart && r.CoveredMonth < yearEnd)
.ToList<MonthlyRecord>();
當我把一個破發點檢查什麼返回到monthlyRecords
我看到記錄的預期計數。但是,每個記錄的CoveredMonth
設置爲2016年1月1日。在SQL中運行相同的查詢我再次獲得相同的記數的記錄,但是適當的日期爲:2016年1月1日,16年2月1日等
實體有沒有問題映射在視圖上的非標準的屬性?我腦海中有一些黑客,但我真的很想解決這個「適當」。