このタイプの SQL ステートメントのような LINQ ステートメントを生成したい
SELECT *
FROM dbo.tbl_Advertisement
WHERE FileName LIKE '%latest%'
AND ToDate = (SELECT min(ToDate)
FROM dbo.tbl_Advertisement
WHERE CAST (getdate() AS DATE) <= CAST (Todate AS DATE)
AND FromDate = (SELECT max(FromDate)
FROM dbo.tbl_Advertisement
WHERE CAST (getdate() AS DATE) >= CAST (FromDate AS DATE)));
次のようにLinqステートメントを生成しました:
objAdvList = objAdvList
.Where(x => x.ToDate == Convert.ToDateTime(objAdvList
.Where(y => y.FromDate == Convert.ToDateTime(objAdvList.Max(z => z.FromDate)))
.Select(y => y.FromDate)
))
.Select(x => x)
.ToList();
objAdvList は List タイプのコレクションです。
class AdvertisementAccess
{
public DateTime FromDate { get; set; }
public DateTime ToDate { get; set; }
public string FileName { get; set; }
public string Path { get; set; }
}
しかし、このコードでは次のようなエラー メッセージが表示されます。
タイプ 'WhereSelectListIterator`2[AdvertisementAccess,System.DateTime]' のオブジェクトをタイプ 'System.IConvertible' にキャストできません。
私の問題を解決する人はいますか?
よろしく、マヤンク