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