我的模型中有一个Publication实体。我想检索从现在开始不到10分钟的所有出版物。

var publications = myEntities.Publications.
    .Where(p => p.CreationUserId == exampleId
             && (DateTime.Now - p.CreationDate).Minutes < 10);

试图执行上述语句,我得到以下异常:“DbArithmeticExpression参数必须具有数字通用类型。”。我试图从DbFunctions类中寻找合适的函数,但没有成功。有人可以提出解决方案吗?

最佳答案

好吧,我得到了Skeeted,但要增加对话内容,这可能对其他人有用...

您正在寻找的方法是DbFunctions.DiffMinutes。它给出了两个值之间的总分钟数。

var publications = myEntities.Publications.
    .Where(p => p.CreationUserId == exampleId
             && DbFunctions.DiffMinutes(p.CreationDate, DateTime.Now) < 10);

10-06 14:45