在我当前的查询中,我遇到了这样的错误:
The datetime literal value '2012-05-24' is not valid.
对于常规 linq 查询,它看起来像这样:
_listHistory = (from item in dbase.histories
where item.UserID == details.UserID && item.FriendID.HasValue == true && item.LogDate < today
select item).OrderByDescending(x => x.LogDate).Take(take).Skip(skip).ToList();
我将处理表“ Columns
”的数量,所以我必须使用 linq 谓词:
string predicate = string.Format("it.UserID=={0} && CAST(it.{1} as Edm.Int64) != null && it.LogDate <= DATETIME'{2}'",
details.UserID, columnname, string.Format("{0:yyyy-MM-dd}", today));
_listHistory = dbase.histories.Where(predicate)
.OrderByDescending(x => x.LogDate).Take(take).Skip(skip).ToList();
但是这个查询导致了上面的错误。谁能帮我构建我的 linq 查询?
这是我第一次处理 Linq 谓词和文字。