テーブルで 3 時間以上経過したすべてのアイテムを削除しようとしていますが、次のエラーが発生します...
DbArithmeticExpression 引数には、共通の数値型が必要です。
// Method to clean items in baskets table which are over 3 hours old.
public void CleanBasket()
{
var expired = (from a in db.Baskets
where (DateTime.Now - a.DateCreated).TotalHours > 3 select a);
foreach (Basket basket in expired) db.DeleteObject(expired);
db.SaveChanges();
}
このエラーは今まで見たことがありません。デバッグを手伝ってくれる人はいますか?
参考までに、私も試してみました... var expired = (from a in db.Baskets where (DateTime.Now.Subtract(a.DateCreated).Hours > 3) select a);
しかし、「LINQ to Entities はメソッド 'System.TimeSpan Subtract(System.DateTime)' メソッドを認識しないため、このメソッドをストア式に変換できません」というエラー メッセージが表示されます。