現在のクエリでは、次のようなエラーが発生しています。
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の述語とリテラルを扱うのは初めてです。