我的查询是我想选择出生日期是系统日期的用户列表,我在我的控制器中使用了以下条件,但是它给出了一个错误。 我想省略一年,并选择出生日期与系统日期和月份相同的用户。如何根据日期条件在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。 –