我将 DataContext 作为与我的数据库的连接,并且还使用预编译查询 (CompiledQuery)。这是我的代码:
public static RichTextValue GetRichTextValue(this DataManager db, string key, string lang = LobbyHelper.DefaultLanguage) {
return CompiledQueryExtensions.RichTextValueByKeyAndLang(db, key, lang);//NullReferenceException is thrown here
}
其中 DataManager 扩展了 DataContext。DataManager 静态实例在整个项目中共享。
public static class CompiledQueryExtensions
{
public static Func<DataManager, string, string, RichTextValue> RichTextValueByKeyAndLang =
CompiledQuery.Compile((DataManager db, string key, string lang) =>
db.RichTextValues.SingleOrDefault(x => !x.Deleted && !x.RichText.Deleted && !x.Language.Deleted
&& x.RichText.Key == key && x.Language.Code == lang));
}
最让我困惑的是,当通常(通过浏览器 url)请求页面时一切都很好,但是当我使用 ajax 请求 PartialView 并将其放在页面上时,我得到了异常。
请协助