我有一個帶有DateTime「TimeStamp」列和int「TimeoutSeconds」列的表。我想從此表中檢索所有記錄,其中DateTime.Now - TimeStamp> TimeoutSeconds。在一個存儲過程,這是沒有道理的使用GETDATE():使用任一LINQ語法或λLINQ to Entities 4:在where子句中計算的查詢
select * from Schema.TableName mp
where (GetDate() - mp.[Timestamp]) > mp.Timeout
然而,實體框架我不能做到這一點,因爲它似乎拉姆達輸入變量(MP)不能被用作部分計算僅作爲謂詞的一部分,所以這不會編譯:
var records = context.TableName.Where(mp => (DateTime.Now - mp.TimeStamp) > mp.Timeout);
這不會編譯。
我不想檢索整個表格,然後在內存中進行篩選,而不是使用存儲的proc或實體SQL。我在這裏有什麼選擇?
你會得到什麼錯誤? TimeStamp和Timeout的類型是什麼? – 2010-10-08 08:10:03