当编译查询读取记录时,Linq 更新不起作用

Linq update doesn't work when record is read by compiled query

我正在逐步跟踪此代码,一切看起来都正常,但更改未反映在数据库中。

在我的跟踪中,q 不为空,因此正在设置 VerifiedBy。然后 db.SubmitChanges() 执行成功但我检查了数据库并且更改没有生效

using (DatabaseDataContext db = new DatabaseDataContext())
{
    Question q = _Questions.GetQuestionForEdit(db, Id);
    if (q != null && (q.UserId == User.Id || User.GetClaim("canmoderatequestions") == "1"))
       {
           q.VerifiedBy = "-1";
           db.SubmitChanges();
       }
}

我解决了这个问题。问题是我编译的查询没有返回确切的类型。它返回 Question

的扩展 class