我正在尝试删除表中所有超过 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)' 方法,并且此方法无法转换为存储表达式。”