1
当使用的LinqDataSource来更新我的SQLEXPRESS数据库的一切最新的(更新)版本显示正常,但是当我尝试检索内容手动使用:LINQ到SQL不检索存储在数据库中
public static IQueryable<MarkingScheme> listMarkingSchemes(string moduleID, string academicYear)
{
return
from m in feedbackDB.MarkingSchemes
where m.moduleID == moduleID && m.academicYear == academicYear
orderby m.schemeID descending
select m;
}
我找回了以前版本的数据!奇怪的是,当我只检索同一表的特定部分,使用:
public static IQueryable listNames(string moduleID, string academicYear)
{
return
from m in feedbackDB.MarkingSchemes
where m.moduleID == moduleID && m.academicYear == academicYear
orderby m.schemeID descending
select new { m.schemeID, m.assignmentName };
}
我找回更新的版本! 有没有人知道为什么会发生这种情况,以及在进行手动查询时如何获得最新版本的数据?我试着在dataclasses.dbml文件中的“检查更新”选项设置为是“永远”和“WhenChanged”,但它似乎没有工作...
SubmitChanges在每个路径中被调用吗? LINQ从DataContext对象的缓存中提供行。因此,如果在每次发生更改的情况下都不调用SubmitChanges,则会得到原始数据,而不是您所期望的修改后的数据。 – Josh
内容通过linqdatasource更新,所以我假设是这样!并且选择性查询'select new {m.schemeID,m.assignmentName}'看到更新并不奇怪,而使用简单的'select m'则不会。 – Themos
经过一段时间似乎显示更新的内容,或者当我更新datacontext ...但延迟加载选项设置为false ... – Themos