我的查詢是我想選擇出生日期是系統日期的用戶列表,我在我的控制器中使用了以下條件,但是它給出了一個錯誤。 我想省略一年,並選擇出生日期與系統日期和月份相同的用戶。如何根據日期條件在LINQ查詢中選擇一個列
錯誤:
LINQ實體無法識別方法「System.String的ToString(System.String)」方法,和這種方法不能被翻譯成表達商店。
控制器代碼:
public IEnumerable<string> UserBirthdays { get; set; }
如何解決這個錯誤,並得到用戶名:
objUser.UserBirthdays = dbContext.EmployeeProfiles.Where(u => Convert.ToDateTime(u.DOB).ToString("dd-MMM").Equals(DateTime.Now.ToString("dd-MMM"))).Select(u => u.Name).ToList();
UserBirthdays在模型定義?
'var dob = DateTime.Now.ToString(「dd-MMM」); objUser.UserBirthdays = dbContext.EmployeeProfiles.Where(u => u.DOB == dob).Select(u => u.Name).ToList();'(但這取決於DOB在db中的含義) –
數據庫中「DOB」的格式是什麼,爲什麼它是一個字符串而不是DateTime? (我假設它是一個'string',否則爲什麼要使用'Convert.ToDateTime()') –
DOB的數據類型是數據庫中的datetime。 –