我在使用linq查询绑定到模型类属性(如
)时获取数据var employeesNotEnteredTimesheetList =
( from emps in reslandentity.EMPLOYEE
join notify in reslandentity.NOTIFICATION
on emps.NOTIFICATION_ID equals notify.ID
from week in reslandentity.WEEK_CALENDER
from statlk in reslandentity.STATUS_LKUP
where !reslandentity.TIMESHEET.Any( m => m.RES_ID == empid &&
m.WEEK_CAL_ID == week.ID &&
m.COMP_ID == Companyid &&
m.RES_TYPE == "EMPLOYEE"
) &&
week.WEEK_START_DT.Month == month &&
week.WEEK_START_DT.Year == year &&
emps.COMP_ID == Companyid &&
emps.ID == empid &&
statlk.TYPE == "TIMESHEET" &&
statlk.STATE == "NOT_ENTERED" &&
week.WEEK_START_DT <= thisWeekStartDate &&
emps.IS_DELETED == "N"
select new TimesheetModel
{
EMP_ID = emps.ID,
EMP_COMP_ID = emps.COMP_EMP_ID,
EMPLOYEE_NAME = emps.FIRST_NAME + " " + emps.LAST_NAME,
PrimaryEmail = notify.PRI_EMAIL_ID,
DESCR = statlk.DESCR,
RES_TYPE = "EMPLOYEE",
START_DATE =week.WEEK_START_DT.ToString(), // Getting Error here when executing query
EDate = week.WEEK_END_DT,
EMP_STATUS = "NOT_ENTERED"
} ).Distinct().ToList();
我想将datetime转换为模型类中的字符串,但没有得到,我试过像toString(),ConvertToString()..但没有得到。如何转换为字符串,请帮助我任何人..先谢谢。
答案 0 :(得分:1)
ToString在此上下文中不可用。
更新时间表模型,使开始日期的类型为DateTime。这将允许你的任务。
然后创建第二个&#39; get&#39; only property返回开始日期的.ToString()...
Public string StartDateString
{
get{ return this.StartDate.ToString();}
}
...或者只是将其保留为DateTime并在使用时将其转换。通过强类型,这将为您提供更好的支持。
答案 1 :(得分:0)
将START_DATE的类型更改为字符串并保留代码。
OR
制作日期时间?数据类型为START_DATE类似于:
DateTime? START_DATE;
...
并删除linq中的.toString()
;
自您提取START_DATE以来,如果您现在使用它,请将其转换为字符串。
START_DATE.toString("dd-MMM-yyyy");
像这样的东西