LINQ to Entities 不识别方法“System.String ToShortDateString()”,因此该方法无法转换为存储表达式。该怎么解决
LINQ to Entities 不识别方法“System.String ToShortDateString()”,因此该方法无法转换为存储表达式。
代码如下:
求解决办法。
------解决方案--------------------
1. try:
2. try:
EntityFunctions.TruncateTime
代码如下:
/// <summary>
/// 获取当天发动短信的次数
/// </summary>
/// <param name="modelUser"></param>
/// <returns></returns>
public int GetAmount(Dal.EF.JJ_User modelUser)
{
//Dal.ADO.TB_LogSMSDal dalLogSMS = new Dal.ADO.TB_LogSMSDal();
//int count = dalLogSMS.GetAmount(modelUser);
int count = 0;
using (Dal.EF.LogEntities db = new Dal.EF.LogEntities())
{
count = db.TB_Log_SMS.Where(m => m.AddDate.ToShortDateString() == DateTime.Now.ToShortDateString()).ToList().Count;
}
return count;
}
求解决办法。
------解决方案--------------------
1. try:
db.TB_Log_SMS.ToList().Count(m => m.AddDate.ToShortDateString() == DateTime.Now.ToShortDateString();
2. try:
EntityFunctions.TruncateTime
db.TB_Log_SMS.Count(m =>EntityFunctions.TruncateTime( m.AddDate) == EntityFunctions.TruncateTime(DateTime.Now));